关于实现图片轮转的方法

1.前台HTML代码 
设置图片所在的标签样式注意事项
1.设置外层DIV宽度为无限大
2.设置DIV的外层为显示宽度,超出则隐藏。这样所有的图片才会在一行显示 
由于写的有点乱 Css和div未分开 不建议
<div style="width: 500px;overflow: hidden;position: relative">
    <div id="imgContain" style="width: 9999px"></div>
    <div class="nrrow pre"><input type="button" onclick="Pre()" value="上一个"/></div>
    <div class="nrrow next"><input type="button" onclick="Next()" value="下一个"/></div>
</div>


js代码

--上一个

这个不太好理解,就是在以动画的形式移动需要的距离,最后瞬间回到起始位置

function Pre(){
var ul=$("ul");
var len=$("ul li:eq(0)").width()*-1;
ul.animate({marginLeft:len*3},1000,function(){
var html=ul.append($("ul li:lt(3)"));
ul.css("margin-left","0px");
});
}

--下一个

原理就是 把前几张图片附加到最后,然后把UL朝做瞬间移动每次需要移动的距离,然后以动画的形式移动到起始位置

这样显示的效果就是需要的效果
function Next(){
var ul=$("ul");
var len=$("ul li:eq(0)").width()*-1;
var html=ul.prepend($("ul li:gt(14)"));
ul.css("margin-left",len*3);
ul.animate({marginLeft:"0px"},1000);
}
css 
.border{
border: 2px solid green;
}
.line{
width: 100%;
border: 1px solid green;
content: "000";
}
#imgContain ul{
list-style: none;
clear: both;
}
#imgContain ul li{
display: block;
float: left;
width: 175px;
height: 120px;
padding: 5px;
text-align: center;
position: relative;
margin: 0px;
}
#imgContain ul li img{
width: 125px;
height: 80px;
position: absolute;
top: 20px;
left: 20px;
}
p{
margin: 0px;
}
.detail{
position: absolute;
left: 65px;
bottom: 0px;
}
.nrrow{
position: absolute;
top: 75px;
opacity: 0.5;
}
.pre{
left: 25px;

}
.next{
right: -10px;
}
原理比较简单 具体 不多过多累述 仅供参考 如果问题可一块探讨   

 

posted @ 2017-08-04 17:04  独孤小天天  阅读(574)  评论(0编辑  收藏  举报