轮播

** 1、 轮播的实现原理是怎样的?如果让你来实现,你会抽象出哪些函数(or接口)供使用?(比如 play())**####

轮播实现原理:
1.将图片排成一行;
2.创建一个可视化窗口,窗口之外的区域隐藏;
3.在第一张图片的前面克隆最后一个图片元素,在最后一个图片后面克隆第一个元素;
4.利用jQuery动画以及定位就能实现无限循环的轮播;
我们可以抽象出来的代码有很多,比如antoPlay()、playNext()、playPre()
(比如play)

实现一个play(index)函数
传入要显示的图片页数
function play(index){
if(curPageIndex === index){
    return;
}
if(isAnimate) return;
isAnimate = true;
$imgCt.animate({
    left: '+=' + (curPageIndex - index) * $firstImg.width()
}, function(){
    curPageIndex = index;
    if(curPageIndex === imgLength){
        $imgCt.css({
            left: - $firstImg.width()
        })
        curPageIndex = 0;
    }
    else if(curPageIndex === -1){
        $imgCt.css({
            left: - $firstImg.width() * imgLength
        })
        curPageIndex = imgLength -1 ;
    } 
    isAnimate = false;
})
}

轮播的基本原理是先并列要轮播的东西,然后设置为不可见或在可见区域之外,最后按顺序使之可见或者移放至可见区域之内。以上就是核心代码的思想,可封装为一个函数。

**2、 实现视频中的左右滚动无限循环轮播效果 **####

代码
预览

**3、 实现一个渐变轮播效果 **####

代码
预览

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1: 轮播的实现原理是怎样的?如果让你来实现,你会抽象出哪些函数(or接口)供使用?(比如 play()) 一种左...
    晓风残月1994阅读 3,199评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,322评论 25 709
  • 轮播的实现原理是怎样的?如果让你来实现,你会抽象出哪些函数(or接口)供使用?(比如 play() 原理:克隆第一...
    小囧兔阅读 1,352评论 0 0
  • 冬日洒落一席花瓣 向在冬天展示着傲姿 你虽有严寒烈风 我亦有寒梅傲骨 闻烈风而绽放 遇寒冬而盛开 傲寒风骨 寒冬让...
    落叶_f32f阅读 2,454评论 0 0