打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
div实现向左右无缝滚动图片效果(跑马灯)
div+css学习笔记22(用div实现向左无缝滚动图片效果)JavaScript实现走马灯效果[无缝连接、循环滚动] 无缝跑马灯效果

以下代码在IE6、Firefox+Win2k环境下测试通过

网页走马灯连续循环滚动

废话少说,代码贴出来:

<div id="imgmarquee" style="OVERFLOW: hidden; WIDTH: 580px; align: left; background-color:#0099CC;">

<div style="width:1200px">

<!--id="marquePic1"里面的宽度一定要大于id="imgmarquee"的宽度才能看到效果 width:600px;>WIDTH: 580px;

大的div宽度要为span的两倍才可以,不然会换行width:1200px zdz的作品,流风的作品 -->

   <span id="marquePic1" style="width:600px; background-color:#990033;">

   <img src="../images/dialog/4.gif" />

   <img src="../images/dialog/4.gif" />

   <img src="../images/dialog/4.gif" />

   <img src="../images/dialog/4.gif" />

   <img src="../images/dialog/4.gif" />

   <img src="../images/dialog/4.gif" />

   <img src="../images/dialog/4.gif" />

   <img src="../images/dialog/4.gif" />

   </span>

   <span id="marquePic2" style="width:600px;background-color:#990033;"></span>

</div>

</div>

<script type="text/javascript">

var imgmarquee = document.getElementById('imgmarquee');

var marquePic2 = document.getElementById('marquePic2');

var marquePic1 = document.getElementById('marquePic1');

var speed=10;//控制移动的速度,数越大越慢

marquePic2.innerHTML=marquePic1.innerHTML;//把marquePic1的内容复制到marquePic2里面

function Marquee(){

if(imgmarquee.scrollLeft>=marquePic1.scrollWidth){

imgmarquee.scrollLeft=0;

}else{

//demo.scrollLeft++;

imgmarquee.scrollLeft++;

}

}

var marqueetemp=setInterval(Marquee,speed);

imgmarquee.onmouseover=function() {clearInterval(marqueetemp)} //鼠标移到上面停止并清除计数

imgmarquee.onmouseout=function() {marqueetemp=setInterval(Marquee,speed)} //鼠标离开重新计数

</script>

------------

参考资料(向右,向上,向下代码同理,只是控制的js不同而已,把下面的id改成对应的就ok了)

------------

向右

------------

<script language="javascript"

type="text/javascript">

<!--

var demo = document.getElementById("demo");

var demo1 = document.getElementById("demo1");

var demo2 = document.getElementById("demo2");

var speed=10;     //数值越大滚动速度越慢

demo2.innerHTML = demo1.innerHTML;

demo.scrollLeft = demo.scrollWidth;

function Marquee(){

     if(demo.scrollLeft<=0)

         demo.scrollLeft+=demo2.offsetWidth

     else{

         demo.scrollLeft--

     }

}

var MyMar = setInterval(Marquee,speed)

demo.onmouseover = function(){clearInterval(MyMar)}

demo.onmouseout = function(){MyMar = setInterval(Marquee,speed)}

-->

</script>

-------------

向下

-------------

<script language="javascript"

type="text/javascript">

<!--

var demo = document.getElementById("demo");

var demo1 = document.getElementById("demo1");

var demo2 = document.getElementById("demo2");

var speed=10;     //数值越大滚动速度越慢

demo2.innerHTML = demo1.innerHTML;

demo.scrollTop = demo.scrollHeight;

function Marquee(){

     if(demo1.offsetTop-demo.scrollTop>=0)

         demo.scrollTop+=demo2.offsetHeight

     else{

         demo.scrollTop--

     }

}

var MyMar = setInterval(Marquee,speed);

demo.onmouseover = function(){clearInterval(MyMar)}

demo.onmouseout = function(){MyMar = setInterval(Marquee,speed)}

-->

</script>

-----------

向上

-----------

<script language="javascript"

type="text/javascript">

<!--

var demo = document.getElementById("demo");

var demo1 = document.getElementById("demo1");

var demo2 = document.getElementById("demo2");

var speed=10;     //滚动速度值,值越大速度越慢

demo2.innerHTML = demo1.innerHTML     //克隆demo2为demo1

function Marquee(){

     if(demo2.offsetTop-demo.scrollTop<=0)  

//当滚动至demo1与demo2交界时

         demo.scrollTop-=demo1.offsetHeight     //demo跳到最顶端

     else{

         demo.scrollTop++

     }

}

var MyMar = setInterval(Marquee,speed);         //设置定时器

demo.onmouseover = function(){clearInterval(MyMar)}  

//鼠标经过时清除定时器达到滚动停止的目的

demo.onmouseout = function(){MyMar = setInterval(Marquee,speed)}  

//鼠标移开时重设定时器

-->

</script>



<DIV id=demo_1 style="OVERFLOW: hidden; HEIGHT: 136px">
<DIV id=demo1_1>
<div id=gleft>
<a href=""><img src="" border="0" width=150 height="120"/></a>
</div>
<div id=gleft>
<a href=""><img src="" border="0" width=150 height="120"/></a>
</div>
<div id=gleft>
<a href=""><img src="" border="0" width=150 height="120"/></a>
</div>
<div id=gleft>
<a href=""><img src="" border="0" width=150 height="120"/></a>
</div>
</DIV>
<DIV id=demo2_1></DIV></DIV>

<SCRIPT>
var speed=25
demo2.innerHTML=demo1.innerHTML
function Marquee(){
if(demo2.offsetWidth-demo.scrollLeft<=0)
demo.scrollLeft-=demo1.offsetWidth
else{
demo.scrollLeft++
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)} </SCRIPT>


其中<div id=gleft>这里的gleft的样式你自己定义下就OK了
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Marquee首尾相连不间断移动 开始完全显示(转) - huwei2003的专栏 - C...
DIV的图片无缝滚动
Dreamweaver向左滚动图片代码(不间断、带链接、鼠标指向暂停)
图片无缝滚动的完美解决
图片左右循环连续滚动代码,解决marquee的留白问题
图片无缝滚动代码
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服