当前位置 : 主页 > 网络编程 > JavaScript >

jquery焦点图循环滚动效果

来源:互联网 收集:自由互联 发布时间:2021-06-28
jquery循环滚动效果 //jquery焦点图插件百度其实是很多很多的,只是很多时候还是不能满足项目的需求,这是一款可以循环滚动效果,支持图片及文字混排//主要样式/*.slides{ width: 750px;
jquery循环滚动效果
//jquery焦点图插件百度其实是很多很多的,只是很多时候还是不能满足项目的需求,这是一款可以循环滚动效果,支持图片及文字混排
//主要样式
/*.slides{ width: 750px; height: 500px; position: relative; overflow: hidden; margin: 0 auto }
.scroll{ width: 1000%; position: relative; }
.scroll:after{ content: ''; clear: both; display: block; visibility: hidden }
.scroll .item{ float: left; width: 200px; height: 400px; background: #42b983; margin-top: 50px; }
.scroll .item.active{ width: 350px; height: 500px; margin-top: 0; background: #ddd }

html结构

 
    
   
   
    1
    
   
    2
    
   
    3
    
   
    4
    
   
    5
    
  
    
  left
    
  right
    
 
*/
//js
var arrowLeft = $(".arrow-left");
var arrowRight = $(".arrow-right");
var scroll = $(".scroll");
var itemWidth=scroll.find(".item").outerWidth();
//clone(); //如果不够的话复制
function clone() {
    var len = scroll.find(".item").length;
    if (len < 4) {
        scroll.append(scroll.find(".item").clone());
        clone();
    }
}
//设定宽,+150是中间那个大的宽
scroll.css({"width": itemWidth * scroll.find(".item").length + 150});
scroll.find(".item").eq(1).addClass("active");
arrowLeft.click(function () {
    if (!scroll.is(":animated")) {
        scroll.prepend(scroll.find(".item:last"));
        scroll.css("left", - itemWidth);
        scroll.find(".item").removeClass("active");
        scroll.find(".item").eq(1).addClass("active");
        scroll.animate({"left": 0});
    }
});
arrowRight.click(function () {
    if (!scroll.is(":animated")) {
        scroll.find(".item").removeClass("active");
        scroll.find(".item").eq(2).addClass("active");
        scroll.animate({
                "left": -itemWidth
            },
            function () {
                $(this).find(".item:first").appendTo(this);
                $(this).css("left", 0);
            });
    }
});
//添加自动滚动
var timer = setInterval(function () {
    arrowRight.trigger("click");
}, 5000);
//鼠标移上去时停止滚动
$(".slides").mouseenter(function () {
    clearInterval(timer);
}).mouseleave(function () {
    timer = setInterval(function () {
        arrowRight.trigger("click");
    }, 5000);
});

//适当的添加一些css3过渡动画,脚本可以参考前面的jquery插件封装方法将代码给做成一个插件,使用就很方便了
1.jpg
网友评论