美文网首页
正则储存,轮播图

正则储存,轮播图

作者: Cyj___ | 来源:发表于2018-07-31 14:07 被阅读0次
var scroll = document.getElementById("scroll"); // 获得大盒子
    var ul = document.getElementById("ul"); // 获得ul

    var ulLis = ul.children;// 获得ul的盒子 以此来生成ol中li的个数

    var liWidth = ul.children[0].offsetWidth;// 获得每个li的宽度
操作元素

因为要做无缝滚动,所以要克隆第一张,放到最后一张后面

克隆元素

ul.appendChild(ul.children[0].cloneNode(true));

创建ol 和li
vaar ol = document.createElement("ol");//创建ol元素

scroll.appendChild(ol);// 把ol放到scroll盒子里面去
 for (var i=0;i
var li = document.createElement("li");// 创建li元素

        li.innerHTML = i + 1;// 给li里面添加文字  1 2 3 4 5

        ol.appendChild(li);// 将li元素添加到ol里面

    }

    ol.children[0].className = "current";// ol中的第一个li背景色为purple

此时ol li元素即小圆点创建完毕 我们接着用js做动画

动画部分包括:
1.鼠标经过第几个小圆点,就要展示第几张图片,并且小圆点的颜色也发生变化

2.图片自动轮播,(这需要一个定时器)

3.鼠标经过图片,图片停止自动播放(这需要清除定时器)

4.鼠标离开图片,图片继续自动轮播 (重新开始定时器)

这里我们封装了一个animate()动画函数

// 动画函数 第一个参数,代表谁动 第二个参数 动多少

// 让图片做匀速运动,匀速动画的原理是 当前的位置 + 速度 即 offsetLeft + speed

    function animate(obj,target){

        // 首先清除掉定时器

        clearInterval(obj.timer);

        // 用来判断 是+ 还是 -  即说明向左走还是向右走

        var speed = obj.offsetLeft < target ? 15 : -15;

        obj.timer = setInterval(function(){

            var result = target - obj.offsetLeft;//它们的差值不会超过speed

            obj.style.left = obj.offsetLeft + speed + "px";

            // 有可能有小数的存在,所以在这里要做个判断             

            if (Math.abs(result) <= Math.abs(speed)) {

                clearInterval(obj.timer);

                obj.style.left = target + "px";

            }

        },10);

    }
定时器 函数

var timer = null; // 轮播图的定时器

var key = 0;// 控制播放的张数

var circle = 0;// 控制小圆点

timer = setInterval(autoplay,1000);// 自动轮播

function autoplay(){

/自动轮播时,要对播放的张数key进行一个判断,如果播放的张数超过ulLis.length-1,就要重头开始播放. 因为我们克隆了第一张并将其放在最后面,所以我们要从第二张图片开始播放/

key++; // 先++

相关文章

  • 正则储存,轮播图

    var scroll = document.getElementById("scroll"); // 获得大盒子 ...

  • 无标题文章

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。它们各具特色,各有用处。 1.传统轮播图 第一步...

  • 轮播图

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。 1.传统轮播图 第一步,得到元素 第二步,设置...

  • 现金红包

    每日红包 轮播图 详情图 周末红包 轮播图 详情图 圣诞红包 轮播图 详情图

  • day7_作业

    轮播图1 轮播图2

  • [iOS]定制性强的广告轮播图--SCAdView

    @[无限轮播图] @[3D轮播图] @[广告轮播图] SCAdView Statement If my code ...

  • 普通奖品

    卡西欧小方块 轮播图 详情图 三只松鼠大礼包 轮播图 详情图 天猫精灵 轮播图 详情图 小米蓝牙无线耳机 轮播图 ...

  • 轮播图心得

    轮播图 写轮播图之前我们要认识到几个问题:一、什么是轮播图?二、怎么实现轮播效果?三、轮播图还有什么小功能可以实现...

  • 第五周学习内容

    焦点图轮播特效之原理、焦点图轮播样式之布局、焦点图轮播之箭头切换、焦点图轮播之无限滚动。 js简介、用法、输出。

  • 三种样式的轮播图

    一、100%比例轮播图 HTML代码 CSS样式 js代码 二、手动箭头轮播图 三、简易轮播图

网友评论

      本文标题:正则储存,轮播图

      本文链接:https://www.haomeiwen.com/subject/cdfhvftx.html