教你如何实现DIV的图片无缝滚动效果
- 格式:doc
- 大小:35.00 KB
- 文档页数:7
js使⽤transition效果实现⽆缝滚动作者:李⼤雷前⾔⽆缝轮播⼀直是⾯试的热门题⽬,⽽⼤部分答案都是复制第⼀张到最后。
诚然,这种⽅法是⾮常标准,那么有没有另类⼀点的⽅法呢?第⼀种⽅法是需要把所有图⽚⼀张张摆好,然后慢慢移动的,但是我能不能直接不摆就硬移动呢?如果你使⽤过vue的transition,我们是可以通过给每⼀张图⽚来添加⼊场动画和离场动画来模拟这个移动•进场动画就是从最右侧到屏幕中央•出场动画是从屏幕中央到左侧移出这样看起来的效果就是图⽚从右边⼀直往左移动,但是这个不⼀样的地⽅是,我们每⼀个元素都有这个进场动画和离场动画,我们根本不⽤关⼼它是第⼏个元素,你只管轮播就是。
如果不⽤vue呢?很简单,我们⾃⼰实现⼀个transtition的效果就好啦,主要做的是以下两点•元素显⽰的时候,即display属性不为none的时候,添加xx-enter-active动画•元素消失的时候,先添加动画xx-leave-active, 注意要让动画播完才消失••••••••••••••functionhide( el) { el.className = el.className.replace( ' slide-enter-active', '') el.className += ' slide-leave-active' el.addEventListener( 'animationend',animationEvent) } functionanimationEvent( e) { e.target.className =e.target.className.replace( ' slide-leave-active', '') e.target.style.display = 'none' e.target.removeEventListener('animationend',animationEvent) } functionshow( el) { el.style.display = 'flex' el.className += ' slide-enter-active' }这⾥我们使⽤了animationend来监听动画结束,注意这⾥每次从新添加类的时候需要重新添加监听器,不然会⽆法监听。
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.offsetWidthelse{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.scrollT op>=0)demo.scrollTop+=demo2.offsetHeightelse{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为demo1function Marquee(){if(demo2.offsetTop-demo.scrollT op<=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=25demo2.innerHTML=demo1.innerHTMLfunction Marquee(){if(demo2.offsetWidth-demo.scrollLeft<=0)demo.scrollLeft-=demo1.offsetWidthelse{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了。
div滚动实现标准
div滚动实现标准:
在现代网页设计中,div元素是最常用的页面布局元素之一。
为了增强用户体验和展示更多内容,我们经常需要在div中实现滚动效果。
下面是一种常用的实现div滚动效果的标准方法。
1. 在HTML中,将需要滚动的内容放置在一个固定高度的div容器内。
```html
<div class="scroll-container">
<!-- 滚动内容 -->
...
</div>
```
2. 在CSS中,为div容器设置固定高度和溢出属性。
```css
.scroll-container {
height: 300px; /* 设置固定高度,根据实际情况调整 */
overflow: auto; /* 设置溢出属性为自动,以便内容超出容器高度时显示滚动条*/
}
```
3. 确保内容超过div容器的高度,以触发滚动效果。
```css
.scroll-container > * {
min-height: 400px; /* 设置内容最小高度,确保内容超过容器高度 */
}
```
这种标准方法能够实现在div容器中显示滚动条,并且当内容超过容器高度时,用户可以通过滚动条来查看隐藏部分的内容。
根据实际情况,你可以根据需求调整div容器的高度,并为滚动条设置样式以符合你的网站设计。
总结起来,通过设置固定高度和溢出属性,并确保内容超过容器高度,你可以
轻松地实现div滚动效果,为用户提供更好的内容浏览体验。
如何使用前端开发技术实现图片轮播效果前端开发技术在网页设计中起着重要的作用,使得网页更加生动和吸引人。
其中,图片轮播效果是一种常见的设计元素,可以提升用户的浏览体验。
本文将探讨如何使用前端开发技术实现图片轮播效果。
首先,我们需要明确图片轮播的基本原理。
简单来说,图片轮播就是在一定时间间隔内连续切换多张图片的展示。
为了实现这个效果,可以使用HTML、CSS和JavaScript来完成。
第一步是在HTML中创建一个容器,用来承载图片。
我们可以使用div标签,并为其添加一个唯一的ID,以便于后续的样式和操作。
接下来,在CSS中为容器设置样式。
可以使用CSS的background-image属性来设置背景图片,并设置容器的宽度和高度,以适配不同的屏幕大小。
在HTML中,我们需要使用JavaScript来实现图片轮播的功能。
首先,我们需要在JavaScript中定义一个数组,存储所有要展示的图片的URL。
可以使用变量来动态添加或删除图片URL,以便于后续的图片切换。
接着,我们需要为图片容器添加一个定时器,以便定时切换图片。
可以使用JavaScript中的setInterval函数来实现。
在每个时间间隔内,我们可以通过改变容器的背景图片URL来实现图片的切换。
可以使用JavaScript中的style属性来设置背景图片URL。
此外,我们还可以为图片添加一些过渡效果,使得切换更加平滑和自然。
可以使用CSS的transition属性来实现。
例如,可以设置图片的过渡时间和过渡效果,如淡入淡出、滑动等。
除了基本的图片切换功能外,我们还可以为图片轮播添加一些交互效果,以增加用户的参与度和体验。
例如,我们可以为图片添加点击事件,使得用户可以手动切换图片。
还可以在图片上方添加一组小圆点,表示当前显示的图片,用户可以点击小圆点来直接跳转到相应的图片。
另外,为了保证网页的加载速度和用户体验,我们可以使用懒加载技术来延迟加载图片。
js实现轮播图的完整代码今天写⼀个完整的轮播图,⾸先它需要实现三个功能:1.⿏标放在⼩圆点上实现轮播2.点击焦点按钮实现轮播3.⽆缝⾃动轮播轮播图的原理:⼀系列的⼤⼩相等的图⽚平铺,利⽤CSS布局只显⽰⼀张图⽚,其余隐藏。
通过计算偏移量(封装⼀个动画函数)⾃动播放,或通过⼿动点击事件切换图⽚。
html布局:<div id="box" class="all"><div class="inner"> <!-- 相框--><ul><li><a href="#"><img src="images/18.jpg" width="550" height="320" alt=""></a></li><li><a href="#"><img src="images/19.jpg" width="550" height="320" alt=""></a></li><li><a href="#"><img src="images/14.jpg" width="550" height="320" alt=""></a></li><li><a href="#"><img src="images/17.jpg" width="550" height="320" alt=""></a></li></ul><ol> <!--⾥⾯存放⼩圆点--></ol></div><div class="focusD" id="arr"><span id="left"><</span><span id="right">></span></div></div>css样式:* {margin: 0;padding: 0;}/*<--清除底部三像素距离-->*/img {vertical-align: top;}.all {width: 550px;height: 320px;margin: 100px auto;padding: 5px;border: 1px solid #ccc;position: relative;}.inner {position: relative;width: 550px;height: 320px;background-color: pink;overflow: hidden;}.inner ul {width: 1000%;list-style: none;position: absolute;top: 0;left: 0;}.inner ul li {float: left;}.focusD {position: absolute;left: 0;top: 50%;width: 550px;padding: 0 10px;height: 30px;box-sizing: border-box;display: none;}.inner ol {position: absolute;right: 30px;bottom: 10px;}.inner ol li {width: 15px;display: inline-block;height: 15px;margin: 0 3px;cursor: pointer;line-height: 15px;text-align: center;background-color: #fff;}/*当前的⾼亮的⼩圆点*/.inner ol .current {background-color: orange;color: #fff;}.focusD span {display: inline-block;width: 25px;font-size: 24px;height: 30px;color: #ccc;line-height: 30px;text-align: center;background: rgba(255, 255, 255, 0.3); cursor: pointer;}#left {float: left;}#right {float: right;}显⽰效果:js部分:接下来我们要写js 代码,⾸先我们先获取我们需要的所有元素。
无缝滚动原理
无缝滚动原理是指在网页设计中,通过一定的技术手段使网页元素能够无限循环滚动,形成连续的动画效果。
该技术常用于制作轮播图、滚动新闻等页面元素。
具体实现原理主要是利用CSS3中的transform属性和transition属性,同时结合JavaScript的计时器和事件监听。
通过给容器设置无限宽度和隐藏溢出,再将元素通过transform属性进行平移或旋转,从而达到循环滚动的效果。
同时设置transition属性,使元素滚动的速度和动画效果更加平滑自然。
需要注意的是,在设计无缝滚动效果时需要考虑浏览器兼容性和页面性能问题,避免因过度渲染而导致页面卡顿等问题。
同时,对于移动端设备,也需要适当的优化和考虑触摸事件的支持。
总的来说,无缝滚动技术在网页设计中具有广泛的应用价值,能够提升页面的交互性和视觉效果,为用户带来更好的用户体验。
- 1 -。
vue 无缝滚动案例Vue.js 是一种用于构建用户界面的渐进式JavaScript框架,它提供了无缝滚动的功能,可以在网页中实现滚动效果。
在本文中,我将为您列举10个符合标题要求的Vue无缝滚动案例。
1. 无限滚动列表:通过Vue的循环指令v-for和CSS的动画效果,可以实现一个无限滚动的列表。
可以通过监听滚动事件,当滚动到列表底部时,将列表的最后一个元素移动到列表的开头,从而实现列表的无限滚动。
2. 图片轮播:利用Vue的过渡效果和定时器,可以实现一个图片轮播的效果。
通过设置定时器,每隔一段时间切换图片,并使用过渡效果实现图片的滑动效果,从而实现无缝滚动的图片轮播。
3. 滚动导航栏:通过监听滚动事件和计算滚动距离,可以实现一个滚动导航栏。
当页面滚动到一定距离时,导航栏会固定在页面顶部,从而实现导航栏的无缝滚动效果。
4. 无缝滚动文字:通过利用Vue的过渡效果和CSS的动画效果,可以实现一个无缝滚动的文字。
可以使用定时器和过渡效果,每隔一段时间将文字移动到容器的开头,从而实现文字的无缝滚动效果。
5. 无缝滚动表格:通过Vue的数据绑定和计算属性,可以实现一个无缝滚动的表格。
可以通过监听滚动事件和计算滚动距离,当滚动到表格底部时,动态加载新的数据,从而实现表格的无缝滚动效果。
6. 滚动加载:通过Vue的数据绑定和计算属性,可以实现一个滚动加载的效果。
可以监听滚动事件和计算滚动距离,当滚动到页面底部时,动态加载新的数据,从而实现滚动加载效果。
7. 无缝滚动标签:通过Vue的过渡效果和计算属性,可以实现一个无缝滚动的标签。
可以使用定时器和过渡效果,每隔一段时间将标签移动到容器的开头,从而实现标签的无缝滚动效果。
8. 无缝滚动消息:通过Vue的数据绑定和计算属性,可以实现一个无缝滚动的消息。
可以使用定时器和过渡效果,每隔一段时间将消息移动到容器的开头,从而实现消息的无缝滚动效果。
9. 无缝滚动网格:通过Vue的数据绑定和计算属性,可以实现一个无缝滚动的网格。
1、一般方式<MARQUEE onmouseover=stop() onmouseout=start() scrollAmount=3 loop=infinite deplay="0"><IMG src="第一张图片地址" ><IMG src="第二张图片地址"></MARQUEE>注释:1) scrollAmount。
它表示速度,值越大速度越快。
2) 加入onmouseover=stop() onmouseout=start()代码,鼠标指向循环文字图片时他们会停止滚动,鼠标离开时继续滚动。
2、水平滚动和垂直滚动(1)图片从右到左滚动<MARQUEE width=宽height=高onmouseover=stop() onmouseout=start() scrollAmount=速度loop=infinite deplay="0"><img src="图片地址"><img src="图片地址">···</MARQUEE>(2)图片从下到上滚动<marquee behavior="scroll" direction=up width="宽" height="高" scrollamount="5" onmouseout="this.start()"><img src="图片网址"><img src="图片网址">···</marquee>3、给滚动图片加超链接用<a href=>和</a>把<img>包围,并且img必须设border=0,否则图片会出现边框。
vue实现简单⽆缝滚动效果本⽂实例为⼤家分享了vue实现简单⽆缝滚动的具体代码,供⼤家参考,具体内容如下效果实现思路在vue中如何复制⼀份列表出来呢且不能丢失绑定的事件,很简单使⽤slot插槽,使⽤两个插槽我们就拥有了两个列表<div class="listScroll" ref="box"><slot></slot><slot></slot></div>组件完整代码<template><div class="listScroll" ref="box"><slot></slot><slot></slot></div></template><script>export default {name: "listScroll",created() {},mounted() {//在盒⼦内容⾼度⼩于可视⾼度时不滚动if (this.boxHeight < this.ele0.clientHeight) {this.start(this.height);this.setEvet();} else {this.isScroll = false;}},props: {speed: {default: 1,type: Number,},},computed: {//第⼀个slotele0() {return this.$refs.box.children[0];},//第⼆个slotele1() {return this.$refs.box.children[1];},//盒⼦的可视⾼度boxHeight() {return this.$refs.box.clientHeight;},},data() {return {height: 0,isScroll: true,};},methods: {//⿏标移⼊停⽌滚动移出继续滚动setEvet() {this.$refs.box.onmouseenter = () => {this.isScroll = false;// this.height = 0;};this.$refs.box.onmouseleave = () => {this.isScroll = true;this.$nextTick(() => {this.start(this.height);});};},//滚动⽅法start(height) {this.ele0.style = `transform:translateY(-${height}px);`;this.ele1.style = `height:${this.boxHeight}px;transform:translateY(-${height}px);overflow: hidden;`; if (height >= this.ele0.clientHeight) {this.height = 0;} else {this.height += this.speed;}if (!this.isScroll) return;window.requestAnimationFrame(() => {this.start(this.height);});},},};</script><style lang="less" scoped>.listScroll {overflow: hidden;}.hover {overflow-y: auto;}.hide {display: none;}</style>使⽤<template><div class="scroll"><list-scroll class="box" :speed="1"><div class="list"><div class="item" v-for="item in list" :key="item.xh"><span>{{ item.xh }}</span><span>{{ bel }}</span></div></div></list-scroll></div></template><script>import ListScroll from "@/components/listScroll";export default {name: "scroll",components: { ListScroll },data() {return {list: new Array(10).fill(1).map((s, i) => ({ xh: i + 1, label: "hello wrold" })),};},};</script><style lang="less" scoped>.box {height: 300px;}.list {padding: 0 10px;width: 300px;.item {display: flex;justify-content: space-between;padding: 5px 0;cursor: pointer;&:hover {background-color: #95a5a6;}}}</style>⾄此⼀个简单的⽆缝滚动就完成了(vue2和vue3通⽤)以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
div+css+js实现⽆缝滚动类似marquee⽆缝滚动兼容firefoxdiv+css+javascript 实现⽆缝滚动,marquee⽆缝滚动,⽆缝滚动,兼容firefox⽤marquee实现⾸尾相连循环滚动效果(仅IE):复制代码代码如下:<marquee behavior="scroll" contenteditable="true" onstart="this.firstChild.innerHTML+=this.firstChild.innerHTML;" scrollamount="3" width="100" onmouseover="this.stop();" onmouseout="this.start();">这⾥是要滚动的内容</marquee>⽤div+css+javascript实现⾸尾相连循环滚动效果(兼容firefox):复制代码代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><title>div+css+javascript 实现⽆缝滚动,marquee⽆缝滚动,⽆缝滚动,兼容firefox</title><style type="text/css">#scrollobj {white-space: nowrap;overflow: hidden;width: 500px;}</style></head><body><div id="scrollobj" onmouseover="javascript:_stop();" onmouseout="javascript:_start();">这⾥是要滚动的内容</div><script language="javascript" type="text/javascript"><!--function scroll(obj) {/*往左*/var tmp = (obj.scrollLeft)++;//当滚动条到达右边顶端时if (obj.scrollLeft == tmp) {obj.innerHTML += obj.innerHTML;}//当滚动条滚动了初始内容的宽度时滚动条回到最左端if (obj.scrollLeft >= obj.firstChild.offsetWidth) {obj.scrollLeft = 0;}/*往上*///var tmp = (obj.scrollTop)++;//if (obj.scrollTop == tmp) {// obj.innerHTML += obj.innerHTML;//}//if (obj.scrollTop >= obj.firstChild.offsetWidth) {// obj.scrollTop = 0;//}}var _timer = setInterval("scroll(document.getElementById('scrollobj'))", 20);function _stop() {if (_timer != null) {clearInterval(_timer);}}function _start() {_timer = setInterval("_scroll(document.getElementById('scrollobj'))", 20); }//--></script></body></html>。
教你如何实现DIV的图片无缝滚动效果在网站制作和站长进行网站维护的时候,经常会想使用滚动图片来达到某种效果,现在我们来教大家如何实现,下面由洛阳蓝点科技技术员整理发布:先了解一下对象的几个的属性:innerHTML:设置或获取位于对象起始和结束标签内的HTMLscrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离scrollWidth:获取对象的滚动宽度offsetHeight:获取对象相对于版面或由父坐标offsetParent 属性指定的父坐标的高度offsetLeft:获取对象相对于版面或由offsetParent 属性指定的父坐标的计算左侧位置offsetTop:获取对象相对于版面或由offsetTop 属性指定的父坐标的计算顶端位置offsetWidth:获取对象相对于版面或由父坐标offsetParent 属性指定的父坐标的宽度图片上无缝滚动<style type="text/css"><!--#demo {background: #FFF;overflow:hidden;border: 1px dashed #CCC;height: 100px;text-align: center;float: left;}#demo img {border: 3px solid #F2F2F2;display: block;}--></style>向上滚动<div id="demo"><div id="demo1"><a href="#"><img src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img"_fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a></div><div id="demo2"></div></div><script><!--var speed=10; //数字越大速度越慢var tab=document.getElementById("demo");var tab1=document.getElementById("demo1");var tab2=document.getElementById("demo2");tab2.innerHTML=tab1.innerHTML; //克隆demo1为demo2function Marquee(){if(tab2.offsetTop-tab.scrollTop<=0)//当滚动至demo1与demo2交界时tab.scrollTop-=tab1.offsetHeight //demo跳到最顶端else{tab.scrollTop++}}var MyMar=setInterval(Marquee,speed);tab.onmouseover=function() {clearInterval(MyMar)};//鼠标移上时清除定时器达到滚动停止的目的tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)};//鼠标移开时重设定时器--></script>图片下无缝滚动<style type="text/css"><!--#demo {background: #FFF;overflow:hidden;border: 1px dashed #CCC;height: 100px;text-align: center;float: left;}#demo img {border: 3px solid #F2F2F2;display: block;}</style>向下滚动<div id="demo"><div id="demo1"><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a></div><div id="demo2"></div></div><script><!--var speed=10; //数字越大速度越慢var tab=document.getElementById("demo");var tab1=document.getElementById("demo1");var tab2=document.getElementById("demo2");tab2.innerHTML=tab1.innerHTML; //克隆demo1为demo2tab.scrollTop=tab.scrollHeightfunction Marquee(){if(tab1.offsetTop-tab.scrollTop>=0)//当滚动至demo1与demo2交界时tab.scrollTop+=tab2.offsetHeight //demo跳到最顶端else{tab.scrollTop--}}var MyMar=setInterval(Marquee,speed);tab.onmouseover=function() {clearInterval(MyMar)};//鼠标移上时清除定时器达到滚动停止的目的tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)};//鼠标移开时重设定时器--></script>图片左无缝滚动<style type="text/css"><!--#demo {background: #FFF;overflow:hidden;border: 1px dashed #CCC;width: 500px;}#demo img {border: 3px solid #F2F2F2;}#indemo {float: left;width: 800%;}#demo1 {float: left;}#demo2 {float: left;}--></style>向左滚动<div id="demo"><div id="indemo"><div id="demo1"><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img"src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a></div><div id="demo2"></div></div></div><script><!--var speed=10; //数字越大速度越慢var tab=document.getElementById("demo");var tab1=document.getElementById("demo1");var tab2=document.getElementById("demo2");tab2.innerHTML=tab1.innerHTML;function Marquee(){if(tab2.offsetWidth-tab.scrollLeft<=0)tab.scrollLeft-=tab1.offsetWidthelse{tab.scrollLeft++;}}var MyMar=setInterval(Marquee,speed);tab.onmouseover=function() {clearInterval(MyMar)};tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)};--></script>图片右无缝滚动<style type="text/css"><!--#demo {background: #FFF;overflow:hidden;border: 1px dashed #CCC;width: 500px;}#demo img {border: 3px solid #F2F2F2;}#indemo {float: left;width: 800%;}#demo1 {float: left;}#demo2 {float: left;}--></style>向右滚动<div id="demo"><div id="indemo"><div id="demo1"><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a><a href="#"><img _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" _fcksavedurl=""#"><img" src="/images/logo.jpg" border="0" /></a></div><div id="demo2"></div></div></div><script><!--var speed=10; //数字越大速度越慢var tab=document.getElementById("demo");var tab1=document.getElementById("demo1");var tab2=document.getElementById("demo2");tab2.innerHTML=tab1.innerHTML;function Marquee(){if(tab.scrollLeft<=0)tab.scrollLeft+=tab2.offsetWidthelse{tab.scrollLeft--}}var MyMar=setInterval(Marquee,speed);tab.onmouseover=function() {clearInterval(MyMar)};tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)};--></script>本篇文章来源于蓝点科技() 原文出处:/2008/product.asp?i=5&id=297。