栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

js 实用的无间断滚动图效果(良好兼容性)

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

js 实用的无间断滚动图效果(良好兼容性)

下面介绍一个方法;基本上实现结构跟行为相分离,两者的联系只需要一个
id就可以,使用起来很方便,而且同一个js代码可以实现在本页面多个滚动图效果,之间互不干扰,
1.xhtml
复制代码 代码如下:








  • 滚动图1



  • 滚动图2



  • 滚动图3



  • 滚动图4












  • 滚动图1



  • 滚动图2



  • 滚动图3



  • 滚动图4




2.css

复制代码 代码如下:
ul,li,img,td{font-size:12px;list-style-type:none;text-align:center;margin:0;padding:0;}
.demo{width:230px;margin-bottom:8px;height:172px;overflow:hidden;}
.demo ul{width:408px;clear:both;}
.demo li{width:102px;float:left;text-align:center;}
.demo img{margin-bottom:8px;}


3.js

复制代码 代码如下:
function startmarquee(lh,speed,delay,index){
var o=document.getElementById("demo"+index);
var o_td=o.getElementsByTagName("td")[0];
var str=o_td.innerHTML;
var newtd=document.createElement("td");
newtd.innerHTML=str;
o_td.parentNode.appendChild(newtd);
var t;
var p=false;
o.onmouseover=function(){p=true;}
o.onmouseout=function() {p=false;}
function start(){
t=setInterval(Marquee,speed);
if(!p){o.scrollLeft += 3;}
}
function Marquee(){
if(o_td.offsetWidth-o.scrollLeft<=0)
o.scrollLeft-=o_td.offsetWidth;
else{
if(o.scrollLeft%lh!=0){
o.scrollLeft+= 3
}else{clearInterval(t); setTimeout(start,delay);}
}
}
setTimeout(start,delay);
}
startmarquee(102,1,1500,1);//图片间停式滚动
startmarquee(102,30,1,2);//图片不间断滚动

测试代码:js需要在html文件加载完成后执行,才能正常运行,所以记得将js放到div之后;图片滚动跟文字滚动实现原理上大同小异。
演示代码:

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
代码中,是针对102宽度的图片,可以在代码中修改,适合自己图片大小的宽度,才可以完美的运行。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/115890.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号