最简单的无缝滚动,确定不进来看看嘛~

今天小滑稽为大家带来的是一种很常用的特效就是无缝滚动。首先还是打开webstorm新建个html页面

今天小滑稽为大家带来的是一种很常用的特效就是无缝滚动

无缝滚动这东西 电商网站或者信息类网站用的应该是很多的,当然了 用jquery可以 用js都可以实现这种效果,今天咱们说的就是用纯js实现

首先还是打开webstorm新建个html页面

1、首先看布局,应该没什么大的问题

<div id=”mooc”>

<h3 id=”moocTitle”>新闻列表</h3>

<div id=”moocBox”>

<ul id=”con1″>

<li>1.醉后不知天在水<b>2016-4-3</b></li>

<li>2.满船清梦压星河<b>2016-4-3</b></li>

<li>3.只愿君心似我心<b>2016-4-3</b></li>

<li>4.定不负相思意。<b>2016-4-3</b></li>

<li>5.只缘感君一回顾<b>2016-4-3</b></li>

<li>6.使我思君朝与暮<b>2016-4-3</b></li>

<li>7.直道相思了无益<b>2016-4-3</b></li>

<li>8.未妨惆怅是清狂<b>2016-4-3</b></li>

<li>9.山长水阔知何处<b>2016-4-3</b></li>

</ul>

<ul id=”con2″></ul>

</div>

</div>

htm布局很清晰一个标题下面一组ul用来放需要滚动的信息,滚动嘛信息肯定要长一些

2、接下来是css样式,里面有个关键的就是要固定高度,显示5-6条足够了ul外层的盒子一样要给一个

overflow: hidden 用来把多余的部分隐藏掉

<style>

*{margin: 0;padding: 0}

ul,li{list-style: none;}

#mooc{width: 400px;border-radius: 5px;margin: 50px auto;border: 2px solid #c0c0c0;text-align: center;}

#moocTitle{padding: 20px;background: red;color: white;border-radius: 5px;}

#moocBox{height: 142px;overflow: hidden}

#con1,#con2{width: 300px;margin: 0 auto;height: 210px;}

#con1 li,#con2 li{margin-top: 5px; }

#con1 b,#con2 b{float: right;margin-right: 10px;}

</style>

很简单的css代码

3、开始写脚本部分

第一步很简单 把需要的元素获取到

window.onload= function () {

var ar=document.getElementById(‘moocBox’);

var ar1=document.getElementById(‘con1’);

var ar2=document.getElementById(‘con2’);

}

需要知道scrollTop是干嘛的 这个scrollTop意思就是滚动条距离文档顶部的距离。

所以只要让这个scrollTop不停的+1就好了 这时候就需要个定时器了

auto();

function auto(){

var time=50;

var timer=setInterval(function () {

ar.scrollTop++;

},50)

按照思路我们可以这样写 可是等滚到最上面就没了,所以还需要知道innerHTML这个东西

在个滚动完以后 在重新把ar1的值赋给ar2

ar2.innerHTML=ar1.innerHTML;

这时候 滚动到下面 又可以继续滚动了,可是ar2如果滚动完了 还要给ar3?那可就麻烦

所以现在判断下

offsetHeight 意思是可见的高度,那么现在就需要这个了

再加上鼠标移入暂停事件 就可以了

全部代码如下

<!DOCTYPE html>

<html>

<head>

<meta charset=”UTF-8″>

<title></title>

<style>

*{margin: 0;padding: 0}

ul,li{list-style: none;}

#mooc{width: 400px;border-radius: 5px;margin: 50px auto;border: 2px solid #c0c0c0;text-align: center;}

#moocTitle{padding: 20px;background: red;color: white;border-radius: 5px;}

#moocBox{height: 142px;overflow: hidden}

#con1,#con2{width: 300px;margin: 0 auto;height: 210px;}

#con1 li,#con2 li{margin-top: 5px; }

#con1 b,#con2 b{float: right;margin-right: 10px;}

</style>

</head>

<body>

<div id=”mooc”>

<h3 id=”moocTitle”>新闻列表</h3>

<div id=”moocBox”>

<ul id=”con1″>

<li>1.醉后不知天在水<b>2016-4-3</b></li>

<li>2.满船清梦压星河<b>2016-4-3</b></li>

<li>3.只愿君心似我心<b>2016-4-3</b></li>

<li>4.定不负相思意。<b>2016-4-3</b></li>

<li>5.只缘感君一回顾<b>2016-4-3</b></li>

<li>6.使我思君朝与暮<b>2016-4-3</b></li>

<li>7.直道相思了无益<b>2016-4-3</b></li>

<li>8.未妨惆怅是清狂<b>2016-4-3</b></li>

<li>9.山长水阔知何处<b>2016-4-3</b></li>

</ul>

<ul id=”con2″></ul>

</div>

</div>

<script>

window.onload= function () {

var ar=document.getElementById(‘moocBox’);

var ar1=document.getElementById(‘con1’);

var ar2=document.getElementById(‘con2’);

auto();

var timer;

function auto(){

var time=50;

var timer=setInterval(function () {

ar2.innerHTML=ar1.innerHTML;

if(ar.scrollTop>ar1.offsetHeight){

ar.scrollTop=0;

}else{

ar.scrollTop++;

}

},time)

}

ar.onmouseover= function () {

clearInterval(timer);

}

ar.onmouseout= function () {

auto();

}

}

</script>

</body>

</html>

明天有空说下 左右滚动的原理

喜欢的小伙伴关注下 每天更新原创文章~

未经允许禁止转载

最简单的无缝滚动,确定不进来看看嘛~

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/10378.html

(0)
上一篇 2023年 4月 22日 下午11:58
下一篇 2023年 4月 22日 下午11:58

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信