如何制作循环图像幻灯片
How to Make a looping image slide show?
如何制作循环图像滑块?下面是我的图像幻灯片代码。我想使幻灯片循环播放,即当最后一个图像出现并且单击下一个按钮时,第一个图像应该再次出现。我的JS是这样的
function worksCarousel(){
var totalWorks = $(".wrapper-project ul li").length;
var ampleWork = $(".project-content").width();
var ampleTotalWorks = totalWorks*ampleWork;
$('.wrapper-project ul').css('width',ampleTotalWorks)
var fragment = document.createDocumentFragment(),
li = document.createElement('li');
while (totalWorks--) {
fragment.appendChild(li.cloneNode(true));
}
$('.controller-3 ul').append(fragment);
var index3 = 0;
var pos3 = 1;
$('.controller-3 ul li:first-child').addClass('selected');
$(".controller-3 ul li").click(function(){
index3 = $(this).index();
$(".wrapper-project").stop().animate({scrollLeft:ampleWork*index3},'slow');
$('.controller-3 ul li').removeClass('selected');
$(this).addClass('selected');
//alert(ampleitem);
});
$(".w-next").click(function(){
if( index3 != $(".controller-3 ul li").size()-1){
index3++;
$(".wrapper-project").stop().animate({scrollLeft:ampleWork*index3},'slow');
pos3++;
$('.controller-3 ul li.selected').removeClass('selected').next().addClass('selected');
}
});
$(".w-prev").click(function(){
if( index3!=0 ){
index3--;
$(".wrapper-project").stop().animate({scrollLeft:ampleWork*index3},'slow');
pos3--;
$('.controller-3 ul li.selected').removeClass('selected').prev().addClass('selected');
}
});
}
我的 html 代码是
<div class="nav-work">
<div class="w-prev">Next</div>
<div class="w-next">Prev</div>
</div>
<div class="wrapper-project">
<ul>
<li><img alt="" src="{tag_portfolio image 1_value}" /></li>
<li><img alt="" src="{tag_portfolio image 2_value}" /></li>
<li><img alt="" src="{tag_portfolio image 3_value}" /></li>
<li><img alt="" src="{tag_portfolio image 4_value}" /></li>
<li><img alt="" src="{tag_portfolio image 5_value}" /></li>
</ul>
</div>
</div>
</div>
一个可以提供想法的简单解决方案如下:
- 将图像的容器或要显示的图像存储在数组中。
- 保持变量中显示的当前图像的索引。
- 每当用户单击上一个或下一个时,更新索引的值和显示的图像。
小提琴
var images_li = $(".wrapper-project ul li").toArray(), current_img = 0;
$(images_li[current_img]).show();
$(".btn-prev").click(function(){
$(images_li[current_img]).hide();
current_img = (current_img === 0) ? images_li.length - 1 : current_img - 1;
$(images_li[current_img]).show();
});
$(".btn-next").click(function(){
$(images_li[current_img]).hide();
current_img = (current_img === images_li.length-1) ? 0 : current_img + 1;
$(images_li[current_img]).show();
});
相关文章:
- 我可以使此幻灯片图像自动播放吗?
- 在滑块内动态添加幻灯片图像
- 幻灯片图像在页面加载时弹出
- 来自数据库的幻灯片图像
- 如何在Javascript中用URL链接不同的幻灯片图像
- JavaScript渐变幻灯片-图像链接
- 将特定html文件上的幻灯片图像调整为移动屏幕
- 设置幻灯片图像间隔
- 如何在加载时隐藏幻灯片图像
- 背景轮播,用于在幻灯片图像中包含 DIV
- 使用nivoSlider,如何确定当前的幻灯片图像或索引
- 什么是开始使用交互式Javascript幻灯片/图像查看器的简单方法
- Jquery,添加上一个/下一个链接对幻灯片图像的效果
- 幻灯片图像可以在本地使用,但不能在我的网站上使用
- 单击幻灯片图像以强制执行一步
- 使幻灯片图像从第一个到最后
- IE8解决方案的圆角幻灯片图像
- 有没有办法保护我的幻灯片图像?
- 为什么此幻灯片图像没有't跑?这很奇怪
- jQuery幻灯片图像转换