javascript - JS轮播图问题
迷茫
迷茫 2017-06-12 09:28:53
[JavaScript讨论组]




Title



< >




想问一下,当图片到最后一张,再显示下一张的时候,怎么让它看不出来中间的过渡效果,让它瞬间到第一张呢?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
三叔

你把第一张图片 克隆 放在最后面

我用jquery写了一个 你可以参考一下

//初始化变量
    var i=0,timer;
    //为pic追加第一张图片到末尾
    var clone=$(".pic li").first().clone();
    $(".pic").append(clone);
    var size=$(".pic>li").size();
    console.log(size);
    //动态增加按钮列表
    for(var j=0;j<size-1;j++){
        $(".btn").append("<li></li>");
    }
    $(".btn>li").eq(0).addClass("current");
    //实现按钮点击切换效果
    $(".btn>li").click(function(){
        i=$(this).index();
        $(".btn>li").eq(i).addClass("current").siblings().removeClass("current");
        $(".pic").stop().animate({"left":-i*520},200);
    });
    //设置播放函数
    function play(){
        if(i==size){
            $(".pic").css({"left":0});
            i=1;
        }
        if(i==-1){
            $(".pic").css({"left":-(size-1)*520},200);
            i=size-2;
        }
        $(".pic").stop().animate({"left":-i*520},200);
        if(i==size-1){
            $(".btn>li").eq(0).addClass("current").siblings().removeClass("current");    
        }else{        
            $(".btn>li").eq(i).addClass("current").siblings().removeClass("current");    
        }
    }
    //设置自动播放
    function autoplay(){
        timer=setInterval(function(){
            i++;
        play();
        },1000);
    }
    $(".contain").hover(function(){
        clearInterval(timer);
    },function(){
        autoplay();
    });
    setTimeout(autoplay(),1000);
    //设置左侧点击按钮事件
    $(".arrow1").click(function(){
        i++;
        play();
    });
    $(".arrow2").click(function(){
        i--;
        play();
    });
    
    

效果展示:

https://ityanxi.github.io/seg...

巴扎黑

你可以在站内搜一下,其实有很多人问过了。原理就是视觉欺骗,类似 5,1,2,3,4,5,1这样的结构,我们到第5张图的时候要回到1,首先按照动画滚动到最右边那个1,在transitionend的时候瞬间调整位置让左边的那个1替代当前的这个1. 简单点讲就是右边的那个1的位置为 -1920px,左边那个1的位置为0px。就是在轮播到-1920px的时候瞬间将位置调整为0px,这样就达到了视觉欺骗的目的。同理1到5也是一样的,换个方向而已

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号