`
cpine
  • 浏览: 54497 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

javascript无缝水平滚动实例

阅读更多

首先看源代码:

<html>
<head>
<title>无缝滚动实例--左右滚动</title>
<style type="text/css">
img { border:none; margin:0px; }
#demo { width:600px; overflow:hidden; height:120px; border:solid 3px red; }
#demo1 { float:left; width:766px; }
#demo2 { float:left; width:766px; }

#clear { clear:both; }
</style>
</head>

<body>
<div id="demo">
<div id="marquee">
   <div id="demo1">
    <img src="images/js01.jpg" width="120" height="120" />
    <img src="images/js02.jpg" width="120" height="120" />
    <img src="images/js03.jpg" width="120" height="120" />
    <img src="images/js04.jpg" width="120" height="120" />
    <img src="images/js05.jpg" width="120" height="120" />
    <img src="images/js06.jpg" width="120" height="120" />
   </div>

   <div id="demo2"></div>
</div>
</div>

<div id="clear">&nbsp;</div>

<script type="text/javascript">
var speed = 10;
var demo = document.getElementById("demo");
var demo1= document.getElementById("demo1");
var demo2= document.getElementById("demo2");
var marquee = document.getElementById("marquee");

demo2.innerHTML = demo1.innerHTML;
marquee.style.width = demo1.offsetWidth * 2;
function fMarquee()
{
if(demo2.offsetWidth - demo.scrollLeft <= 0) { demo.scrollLeft -= demo2.offsetWidth; }
else { demo.scrollLeft++; }
}

var myMarquee = setInterval(fMarquee,speed);
demo.onmouseover = function() { clearInterval(myMarquee); }
demo.onmouseout = function() { myMarquee = setInterval(fMarquee, speed); }
</script>
</body>

</html>

 

代码结束。

 

基本原理与垂直滚动效果是一样的,只不过,在布局的时候发生了一点小小的改变。

他的结构应该是这样的

<div id="demo">
<div id="marquee">
    <div id="demo1">
      content...
    </div>
    <div id="demo2"></div>
</div>
</div>

 

用demo包含所有的内容。而且demo必须制定宽度和高度,且overflow:hidden;必须加上。其实demo指定的是滚动框的高度和宽度。

用marquee包含所有的内容,与demo不同的是,marquee的宽度是刚好够放下demo1与demo2的内容的(横向排列,所以需要float:left; 而且宽度要设置。)

接下来的是用javascript将marquee的宽度设置为两倍demo1的宽度。marquee.style.width = demo1.offsetWidth * 2; 以确保demo1与demo2是横向排列的。

在滚动时,若demo的scrollLeft已经到超过了demo2的宽度,说明应该重新开始了。用

if(demo2.offsetWidth - demo.scrollLeft <= 0) { demo.scrollLeft -= demo2.offsetWidth; }
else { demo.scrollLeft++; }

最后用var myMarquee = setInterval(fMarquee, speed) 重复滚动。

分享到:
评论

相关推荐

    JavaScript 无缝上下滚动加定高停顿效果

    2. **新闻滚动条**:新闻网站上常见的滚动新闻条,可以采用这种无缝滚动技术。 3. **动态效果增强**:在需要增加用户互动性和视觉效果的网页设计中,可以使用这种技术。 ### 四、扩展思考 1. **性能优化**:考虑到...

    JavaScript无缝滚动小例

    这个"JavaScript无缝滚动小例"提供了一个实现这一效果的实例,包括向上、向下、向左和向右四个方向的滚动。 首先,让我们了解JavaScript如何实现无缝滚动的基本原理。通常,我们利用JavaScript的定时器(如`...

    html无缝滚动实例

    HTML无缝滚动是一种网页设计技术,...掌握以上知识点,你就可以创建出具有吸引力的HTML无缝滚动效果,提升你的网页设计水平。实践中不断尝试和优化,才能让无缝滚动更加自然、流畅,从而更好地服务于你的网页设计项目。

    用CSS3实现无限循环的无缝滚动的实例代码

    在现代网页设计中,无限循环的无缝滚动是一种常见的动画效果,尤其是在列表或者新闻滚动模块中。使用CSS3实现这一效果,不仅可以提升用户体验,而且可以减少JavaScript的使用,简化前端代码。CSS3中提供的一些关键...

    无缝文字滚动方案

    【无缝文字滚动方案】是一种常见的网页动态效果,用于在有限的空间内展示大量文字内容,比如新闻更新、滚动公告等。这种技术主要通过...通过不断实践和学习,开发者可以创建更多个性化和富有创意的无缝滚动效果。

    vue,原生js左右无缝滚动

    在本文中,我们将深入探讨如何使用原生JavaScript实现Vue组件中的左右无缝滚动效果,并结合CSS进行样式设计。Vue.js是一个流行的前端框架,它允许开发者构建可复用、可维护的组件,而原生JavaScript则是其背后的基石...

    基于JS实现新闻列表无缝向上滚动实例代码

    ### 知识点三:JavaScript实现无缝滚动 在HTML和CSS的基础上,通过JavaScript实现滚动逻辑。首先定义了一个全局变量`speed`,用来控制滚动的速度。接着在`window.onload`事件中执行滚动初始化和设置函数。`demo1`和`...

    JavaScript无缝滚动效果的实例代码

    总之,JavaScript无缝滚动效果是通过JavaScript控制元素位置变化,配合CSS的`overflow:hidden`实现的一种视觉效果。通过上述实例代码,我们可以了解到实现这一效果的基本思路和方法。这种效果常用于轮播图、滚动新闻...

    javascript单张多张图无缝滚动实例代码

    在本文中,我们将深入探讨如何利用JavaScript实现单张或多张图片的无缝滚动效果,并通过实例代码进行讲解。 首先,我们要创建一个HTML结构,包括一个包含图片的`&lt;ul&gt;`列表。在CSS样式中,我们设置`#div1`为相对定位...

    Javascript实现几幅图片无缝滚动.rar

    JavaScript是一种广泛应用于网页和网络应用的...如果你对JavaScript和网页开发有兴趣,这个实例是一个很好的学习素材,可以帮助你掌握图片无缝滚动的实现方法。记得在实际使用时,根据自己的需求进行适当的修改和定制。

    原生JS控制无缝滚动图片

    这就是一个简单的原生JavaScript无缝滚动图片的实现。通过这个项目,你可以学习到如何操作DOM、处理事件、应用CSS样式,以及利用requestAnimationFrame实现平滑动画。这个基础的实例可以作为起点,进一步扩展以支持...

    JavaScript中实现无缝滚动、分享到侧边栏实例代码_.docx

    在JavaScript中实现无缝滚动是一种常见的网页动态效果,用于展示一系列内容,...综上所述,JavaScript无缝滚动和侧边栏分享是提高网页用户体验的重要技术手段,同时也需要注意安全问题,确保用户的浏览体验和数据安全。

    仿新浪微博高度自适应无缝滚动

    高度自适应无缝滚动通常基于JavaScript和CSS实现,特别是jQuery等库可以简化代码编写。在这个实例中,`new slider({id:'**',auto:4})` 是一个JavaScript函数调用,用于初始化滚动效果。`slider` 是我们自定义的一个...

    Jquery 无缝滚动

    在本文中,我们将深入探讨jQuery无缝滚动的实现原理、兼容性和应用实例。 ### 一、实现原理 jQuery 无缝滚动的核心在于利用JavaScript和CSS来控制页面元素的位置变化。通过定时器定期改变元素的CSS属性,例如`top`...

    javascript实现可改变滚动方向的无缝滚动实例

    本文将介绍如何利用JavaScript实现一个可以改变滚动方向的无缝滚动实例。 首先,我们需要理解实现无缝滚动的几个关键步骤: 1. 定义HTML结构:需要一个容器来包裹所有的图片元素,通常是一个div元素。在这个div...

    JS简单实现无缝滚动效果实例

    在网页设计中,无缝滚动是一...总的来说,JavaScript无缝滚动效果不仅提升了网页的视觉吸引力,还提供了用户交互的可能性。通过理解并掌握这种技术,开发者可以为网页增添更多生动有趣的动态元素,增强用户的浏览体验。

    javascript实现无缝上下滚动特效

    js实现上下无缝滚动的原理是这样的: 1、首先给容器设定高度或宽度,然后overflow:hidden; 2、容器高度设定后,内容超出则被隐藏。 3、改变容器的scrollTop(上下滚动)属性的值,让内容上下移动一个节点的位置...

    js实现图片无缝滚动或者文字滚动

    总的来说,通过JavaScript实现图片和文字的无缝滚动,需要理解HTML、CSS和JS的基本原理,以及如何利用它们协作实现动态效果。通过不断实践和优化,可以创造出既美观又高效的滚动效果,提升网站的用户体验。

    不间断滚动实例不间断滚动实例

    在这个“不间断滚动实例”的主题下,我们将深入探讨该技术的工作原理、实现方式以及其优缺点。 一、不间断滚动的工作原理 1. 用户滚动到页面底部:当用户在页面上滚动至接近或达到底部时,页面会触发一个...

Global site tag (gtag.js) - Google Analytics