实现无缝滚动与间歇性无缝滚动

    这篇blog是使用html与js实现无缝滚动与间歇性无缝滚动,首先,先看一下效果图:
这里写图片描述

    这种效果,在网站中经常见到,下面,我们实现这个效果。

首先,这里有以下知识点:

setInterval("表达式",周期时间);

    这里给大家贴一张w3c上对setInterval的介绍,用法都很清楚:
这里写图片描述

clearInterval(id_setInterval);

这里写图片描述

setInterval()与clearInterval的简单用法

var time = setInterval("turn()",2000);  //两秒执行一次turn()方法
clearInterval(time);    //取消执行

    接下来,开始我们的主题了:

无缝滚动

html文件:
这里写图片描述

    这里实现无缝滚动的原理是:
    页面打开的时候,如图1,让ol1开始向上滚动,当ol1滚动到图2的位置,继续向上滚动,这时ol2(ol2是ol1的一个克隆,与ol1一模一样的数据)就显示出来,当ol1滚动到图三的位置时,就让ol1回到初始位置,图1的那个位置.整个滚动的原理就是这样。
图1:
图1
图2:
图2
图3:
图3

贴上我们的js代码:
这里写图片描述

    注释里写的很清楚,也没有多少困难,应该不会有什么问题。

间歇性无缝滚动

    间歇性无缝滚动与无缝滚动很相似,只是在无缝滚动的基础上增加了停留时间,让它每隔多少秒之后再执行向上滚动的操作。
这里我们要学习一个新的知识点:

setTimeout("表达式",2000);   //表示延迟2秒之后执行表达式的内容

这里写图片描述

贴上js代码:
这里写图片描述
    代码与无缝滚动的代码大同小异,主要是多了setTimeout来进行延迟滚动。
    逻辑:页面启动后延迟2秒执行move(),在move()中执行向上滚动的逻辑,其中每隔50毫秒执行一次stop(),当滚动的区域是一行数据的整数倍时,停止1秒后继续执行move()滚动。当滚动区域是整个的一半时(因为在开始的时候克隆了一个area,area变成两个相同的数据),将恢复到初始状态,无限滚动下去。

    至此,无缝滚动完成。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值