首先要定义一个索引来表示你当前轮播到第几张图片了
沙湾网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联建站公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
然后获得你总共有几张图片 当索引跳到最后一张的时候 将其值改为0 即可
对于上一页下一页 逻辑与上面相同
如果当前索引为0 或者为最后一个隐藏掉这个按钮或者赋值另一端的极值
轮播的话 写一个定时器 第一个参数就是这个函数啦 第二个参数给1000(ms)
函数里面就对这个index按上面的逻辑操作即可了
思路给你了 自己写吧。。边查边写 收获会很大
建议,在当前轮播图的div添加类active,设置.active {display:block;},.ban{display:none;};这样可以通过添加或移除active就可以了;这样以下就比较方便很多,要不然又要做循环,麻烦(swiper插件做轮播效果不错)
$(".left").click(function(){
var $index = $(".ban").hasClass("active").index();//获取当前轮播图的下标
if($index === 0 ) {//当前为第一张轮播图
$(".ban").eq($(".ban").length-1).addClass("active)
.siblings(".ban").removeClass("active");
//这里写成你自动切换的代码,我这里只是一个无动态切换效果的方法
}else {
$(".ban").eq($index-1).addClass("active)
.siblings(".ban").removeClass("active");
})
$(".right").click(function(){
var $index = $(".ban").hasClass("active").index();//获取当前轮播图的下标
if($index === ($(".ban").length-1) ) {//当前为最后一张轮播图
$(".ban").eq($(".ban").length-1).addClass("active)
.siblings(".ban").removeClass("active");
//这里写成你自动切换的代码,我这里只是一个无动态切换效果的方法
}else {
$(".ban").eq($index+1).addClass("active)
.siblings(".ban").removeClass("active");
})
//大体思路是这样了,代码可能有个别字母写得不对,毕竟是手敲的,但是大概思路是这样了
试一下outline:none;
这个可以去掉表单标签点击时带边框的问题
*{
margin: 0;
padding: 0;
}
ul{
list-style:none;
}
.slideShow{
width: 620px;
height: 700px; /*其实就是图片的高度*/
border: 1px #eeeeee solid;
margin: 100px auto;
position: relative;
overflow: hidden; /*此处需要将溢出框架的图片部分隐藏*/
}
.slideShow ul{
width: 2500px;
position: relative; /*此处需注意relative : 对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置,如果没有这个属性,图片将不可左右移动*/
}
.slideShow ul li{
float: left; /*让四张图片左浮动,形成并排的横着布局,方便点击按钮时的左移动*/
width: 620px;
}
.slideShow .showNav{ /*用绝对定位给数字按钮进行布局*/
position: absolute;
right: 10px;
bottom: 5px;
text-align:center;
font-size: 12px;
line-height: 20px;
}
.slideShow .showNav span{
cursor: pointer;
display: block;
float: left;
width: 20px;
height: 20px;
background: #ff5a28;
margin-left: 2px;
color: #fff;
}
.slideShow .showNav .active{
background: #b63e1a;
}
js代码规范:
script src="../../../jQuery/js/jquery-2.1.4.js"/script script type="text/javascript"
$(document).ready(function(){
var slideShow=$(".slideShow"), //获取最外层框架的名称
ul=slideShow.find("ul"),
showNumber=slideShow.find(".showNav span"), //获取按钮
oneWidth=slideShow.find("ul li").eq(0).width(); //获取每个图片的宽度
var timer=null; //定时器返回值,主要用于关闭定时器
var iNow=0; //iNow为正在展示的图片索引值,当用户打开网页时首先显示第一张图,即索引值为0
showNumber.on("click",function(){ //为每个按钮绑定一个点击事件
$(this).addClass("active").siblings().removeClass("active"); //按钮点击时为这个按钮添加高亮状态,并且将其他按钮高亮状态去掉
var index=$(this).index(); //获取哪个按钮被点击,也就是找到被点击按钮的索引值
iNow=index;
ul.animate({ "left":-oneWidth*iNow, //注意此处用到left属性,所以ul的样式里面需要设置position: relative; 让ul左移N个图片大小的宽度,N根据被点击的按钮索引值iNOWx确定
})
});
function autoplay(){
timer=setInterval(function(){ //打开定时器
iNow++; //让图片的索引值次序加1,这样就可以实现顺序轮播图片
if(iNowshowNumber.length-1){ //当到达最后一张图的时候,让iNow赋值为第一张图的索引值,轮播效果跳转到第一张图重新开始
iNow=0; }
showNumber.eq(iNow).trigger("click"); //模拟触发数字按钮的click
},2000); //2000为轮播的时间
}
autoplay();
slideShow.hover( function(){clearInterval(timer);},autoplay); 另外注意setInterval的用法比较关键。
})
/script
主体代码:
[html] view plain copy print?
body
div class="slideShow"
!--图片布局开始--
ul
lia href="#"img src="images/view/111.jpg"//a/li
lia href="#"img src="images/view/112.jpg" //a/li
lia href="#"img src="images/view/113.jpg" //a/li
lia href="#"img src="images/view/114.jpg" //a/li
/ul
!--图片布局结束--
!--按钮布局开始--
div class="showNav"
span class="active"1/span
span2/span
span3/span
span4/span
/div
!--按钮布局结束--
/div
/body
//我项目里面的轮播,可以参考。
!DOCTYPE html
html
meta charset="utf-8" /
title/title
t
script type="text/javascript" src="js/slider.js"/script
script type="text/javascript" src="js/jquery-1.9.1.min.js"/script
body
div id="banner_tabs" class="flexslider"
ul class="slides"
li
a
img width="1920" height="600" style="background: url(images/banner_1.jpg) no-repeat center;" src="images/alpha.png"
/a
/li
li
a
img width="1920" height="600" style="background: url(images/banner_2.jpg) no-repeat center;" src="images/alpha.png"
/a
/li
li
a
img width="1920" height="600" style="background: url(images/banner_3.jpg) no-repeat center;" src="images/alpha.png"
/a
/li
/ul
ul class="flex-direction-nav"
lia class="flex-prev" href="javascript:;"Previous/a/li
lia class="flex-next" href="javascript:;"Next/a/li
/ul
ol id="bannerCtrl" class="flex-control-nav flex-control-paging"
li class="active"a1/a/li
li class=""a2/a/li
li class=""a3/a/li
/ol
/div
script src="js/jquery.js"/script
script type="text/javascript"
$(function() {
var bannerSlider = new Slider($('#banner_tabs'), {
time: 5000,
delay: 400,
event: 'hover',
auto:true,
mode: 'fade',
controller: $('#bannerCtrl'),
activeControllerCls: 'active'
});
$('#banner_tabs .flex-prev').click(function() {
bannerSlider.prev()
});//前一页
$('#banner_tabs .flex-next').click(function() {
bannerSlider.next()
});//下一页
})
/script
/body
/html
==========================================
下载slider,引入jq,看看slider教程,对这些有点了解。
是图片 摆好DIV框
简单的就是中间DIV是放个img,切换的时候替换
体验好一点的就是div里面放ul li里面放上所有图片
无缝滚动就把ul left或者right移动 水平放置li 溢出的隐藏 判断是否首尾,然后重置或者不动这个应该不用说了