js轮播图定时期问题

JavaScript022

js轮播图定时期问题,第1张

你好,这种效果我自己写过,我说下自己的方法做一个div,宽高固定,overflow设为hidden在该div中放一个ul,该ul种横向排布若干li,每个li装入一个图片,大小为外层div的宽和高ul的宽度要设为所有li横向排布的总和,否则,图片会换行然后,在js写一个定时器,setInterval,不停地修改ul的margin-left,宽度为一个图片宽然后效果就是滑动的向左边切换一个图片没切换完一张图片后,将ul的第一个licopy到ul的最后一位去,并删掉ul的第一个li,这时第一个li已经切换到外层div的左边,已经看不到了,所以我们做操作,用户不会发觉然后修改ul的margin-left为0这样就是无缝首尾切换了

1 、 首先我们需要在开始时将我们锁需要的封装函数链接进来。

列如<script type="text/javascript" src="animate-2.0.1.js"></script>

而且我们必须得得到所有需要用到的对象用 getElementById 、getElementsByTagName,然后把需要一个规范的命名。

2 、第二部我们创建一个定时器先让轮播图中所有图片的 li 动起来

右边点击函数跟定时器所运动的函数一个样,所以我们可以封装一个函数abc();他们是共用的;

3 、 写出左边点击按钮事件的函数,这样就如上abc();差不多只是修改一些东西就行了;

4 、讲小圆点的样式改变封装成一个函数就是下面的chnage();

然后还得监听点击每个小圆点的事件,所以可以用for + onclick 讲每个小圆点点击事件给写出来。

难点:

1 、函数截留,当我们点击函数正在执行时,如果多次点击就会出现图片运动混乱的现象,这是我们需要用if(picDiv.isanimated) {return},

2 、cloneNode()函数picUl.appendChild(picLi[0].cloneNode(true))