js循环滚动
2017-10-11 00:00
671 查看
//这是dom结构
<div id="demo"><div id="demo1">这里是你要添加的数据(有浮动记得清楚浮动,不然没高度)</div><div id="demo2"></div></div>
//代码网上可以搜到,原理是创建一个demo2 的div就,把demo1 的内容复制到demo2的里面。定时器来增加demo的滚动高度。当滚动到最底下时让demo的滚动高度重新赋值。判断demo2距离父级顶部的高度与demo的滚动高度差值(不循环滚动重新计算);
<script>
// 判断当前数据是否超过显示区域,超过则滚动,否则不滚动
var flag = true;
if(demo1.offsetHeight <= demo.offsetHeight) {
flag = false;
} else {
flag = true;
}
if(flag) {
var speed = 10 //滚动速度,越小越快
var cliH = demo1.offsetHeight
demo2.innerHTML = demo1.innerHTML
var num = demo2.offsetTop - cliH; // 这个原本是想实现上面的判断,但是有bug。只有一条数据时会显示两条。作用是用来计算demo2的距离顶部的高度与demo的滚动高度的差,用于下面的判断。
function Marquee() {
if(demo2.offsetTop - demo.scrollTop <= num)
demo.scrollTop -= demo1.offsetHeight
else {
demo.scrollTop++
}
}
var MyMar = setInterval(Marquee, speed)
demo.onmouseover = function() {
clearInterval(MyMar)
}
demo.onmouseout = function() {
MyMar = setInterval(Marquee, speed)
}
}
</script>
<div id="demo"><div id="demo1">这里是你要添加的数据(有浮动记得清楚浮动,不然没高度)</div><div id="demo2"></div></div>
//代码网上可以搜到,原理是创建一个demo2 的div就,把demo1 的内容复制到demo2的里面。定时器来增加demo的滚动高度。当滚动到最底下时让demo的滚动高度重新赋值。判断demo2距离父级顶部的高度与demo的滚动高度差值(不循环滚动重新计算);
<script>
// 判断当前数据是否超过显示区域,超过则滚动,否则不滚动
var flag = true;
if(demo1.offsetHeight <= demo.offsetHeight) {
flag = false;
} else {
flag = true;
}
if(flag) {
var speed = 10 //滚动速度,越小越快
var cliH = demo1.offsetHeight
demo2.innerHTML = demo1.innerHTML
var num = demo2.offsetTop - cliH; // 这个原本是想实现上面的判断,但是有bug。只有一条数据时会显示两条。作用是用来计算demo2的距离顶部的高度与demo的滚动高度的差,用于下面的判断。
function Marquee() {
if(demo2.offsetTop - demo.scrollTop <= num)
demo.scrollTop -= demo1.offsetHeight
else {
demo.scrollTop++
}
}
var MyMar = setInterval(Marquee, speed)
demo.onmouseover = function() {
clearInterval(MyMar)
}
demo.onmouseout = function() {
MyMar = setInterval(Marquee, speed)
}
}
</script>
相关文章推荐
- JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
- JS实现div内部的文字或图片自动循环滚动
- js不断向上滚动代码,滚动一边就停止如何解决,如何让标题循环滚动
- 分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
- 分别用marquee和div+js实现首尾相连循环滚动效果
- cocos2d JS 设置字幕循环滚动(背景图滚动亦可)
- 兼容FF,JS不间断循环滚动,包含自滚动,左右自滚动,点击左右滚动,鼠标暂停效果
- 用marquee和div+js实现首尾相连循环滚动效果
- JS实现div内部的文字或图片自动循环滚动
- [原创]分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
- js文字循环滚动
- js 循环滚动效果
- 【js与jquery】www.zhen.com首页顶部最新更新文章的循环滚动效果
- [JS] 改自网络:单行任意数量条公告循环滚动代码
- js实现的类marquee水平循环滚动
- div+js实现首尾相连循环滚动效果
- js、jquery实现文字由下到上循环滚动
- 用marquee和div+js实现首尾相连循环滚动效果
- JS实现div内部的文字或图片自动循环滚动代码
- 【js与jquery】jquery循环滚动新闻