当前位置: 代码迷 >> Web前端 >> jQuery兑现一个图片左右滚动
  详细解决方案

jQuery兑现一个图片左右滚动

热度:86   发布时间:2012-09-19 13:43:54.0
jQuery实现一个图片左右滚动


  jQuery实现的一个图片左右循环滚动的例子,


html代码如下:


<div class="lrScroll">
  <ul>
    <li>我是第1张图片</li>
    <li>我是第2张图片</li>
    <li>我是第3张图片</li>
    <li>我是第4张图片</li>
    <li>我是第5张图片</li>
    <li>我是第6张图片</li>
    <li>我是第7张图片</li>
    <li>我是第N张图片</li>
  </ul>
</div>
<div class="button">
  <input name="a" type="button" onClick="lxfLast()" value="上一个" />
  <input name="a" type="button" onClick="lxfNext()" value="下一个" />
</div>
<div class="button">当前显示的是第 <i>1</i> 张图片</div>


css代码如下:


<style type="text/css">
* {
    margin:0;
    padding:0;
    font-size:12px;
}
.lrScroll {
    width:400px;
    margin-left:auto;
    margin-right:auto;
    margin-top: 20px;
    overflow: hidden;
    position: relative;
    height: 300px;
    border: 1px solid #CCC;
}
.lrScroll ul {
    list-style:none;
    padding:10px;
    width:400px;
    height:300px;
}
.button {
    margin:20px auto;
    overflow:hidden;
    width:400px;
    text-align:center;
}
.button i {
    font-style:normal;
    color:#CC0000;
}
.button input {
    cursor:pointer;
    padding:2px 10px;
}
.lrScroll ul li {
    height: 300px;
    width: 400px;
    text-align: center;
    line-height: 300px;
    font-size: 40px;
    font-weight: bold;
    position:absolute;
    color:#0000FF;
}
</style>


jQuery代码如下:


<script type="text/javascript">
$(function(){
    var i=0;
    var li=$(".lxfscroll li");
    var n=li.length-1;
    var speed=300;
    li.not(":first").css({left:"400px"});
    li.eq(n).css({left:"-400px"});
    lxfNext=function(){
        if(!li.is(":animated")){
            if(i>=n){i=0;li.eq(n).animate({left:"-400px"},speed);
                li.eq(i).animate({left:"0px"},speed);
            }else{
                i++;
                li.eq(i-1).animate({left:"-400px"},speed);li.eq(i).animate({left:"0px"},speed);
                };
                li.not("eq(i)").css({left:"400px"});
                $("i").text(i+1);
            }else{};
        };
        lxfLast=function(){
            if(!li.is(":animated")){
                if(i<=0){
                    i=n;li.eq(0).animate({left:"400px"},speed);li.eq(n).animate({left:"0px"},speed);
                    }else{
                        i--;li.eq(i+1).animate({left:"400px"},speed);li.eq(i).animate({left:"0px"},speed);
                        }
                        li.not("eq(i)").css({left:"-400px"});
                        $("i").text(i+1);
                }
            }
    })
    
</script>

简单的预览效果



  相关解决方案