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

javascript实现垂直无缝滚动详解

阅读更多

无缝滚动可以在flash中实现。但使用javascript同样具有效果。今天我们要看的就是javascript实现无缝滚动。要使用javascript实现无缝滚动,需要掌握以下知识:

1) setInterval函数的使用

2) document.getElementById(v)函数

3) 设置对象的innerHTML

4) offsetTop属性 : 某个对象相对于父对象的顶端距离

5) scrollTop属性 : 某个对象向上滚动的量

6) offsetHeight : 某个对象的有效高度

原理分析:

需要一个大的层"demo"包含两份要滚动的内容,这两份分别至于demo1与demo2中。结构如下:

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

 

 

 

利用js将demo1的内容复制一份到demo2中。实现的方法是:demo2.innerHTML = demo1.innerHTML;

然后开始将demo向上滚动,当demo2的offsetTop - demo.scrollTop 小于或等于0时,我们将demo的scrollTop滚回置顶部( demo.scrollTop -= demo1.offsetHeight)

注意:demo的高度必须足够小(不要超过demo1的高度)

具体代码如下:

<html>
<head>
<title>垂直无缝滚动实例</title>
<style type="text/css">
#demo { width:120px; height:500px; overflow:hidden; border:solid 3px red; }
</style>
</head>

<body>
<div id="demo">
<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>

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

demo2.innerHTML = demo1.innerHTML; //复制demo1的内容到demo2中。
function marquee()
{ // 若第一遍的内容已全部显示完毕,则重新开始显示
if(demo2.offsetTop - demo.scrollTop <= 0) { demo.scrollTop -= demo1.offsetHeight; }
else { demo.scrollTop++; } // 否则向上滚动1个像素的量。
} 

var myMarquee = setInterval(marquee,speed);   // 按一定的速度滚动
demo.onmouseover = function() { clearInterval(myMarquee); } //指向时停止滚动
demo.onmouseout = function() { myMarquee = setInterval(marquee,speed); } // 移开时继续滚动
</script>

</body>

</html>

 

分享到:
评论

相关推荐

    jquery图片无缝滚动代码左右上下无缝滚动图片

    **jQuery图片无缝滚动代码实现详解** 在网页设计中,图片滚动是一种常见的动态效果,它可以吸引用户的注意力并增强网站的视觉吸引力。"jQuery图片无缝滚动代码左右上下无缝滚动图片"是利用jQuery库实现的一种图片...

    JS无缝滚动

    **JS无缝滚动技术详解** JS无缝滚动是一种常见的网页动态效果,它主要用于图片或文字的连续滚动展示,给予用户一种无间断、流畅的视觉体验。在网页设计中,这种技术可以提升页面的吸引力,使信息展示更加生动。本文...

    liMarquee.js实现多种图片和文字无缝滚动效果.zip

    《liMarquee.js实现多种图片和文字无缝滚动效果详解》 在网页设计中,为了吸引用户的注意力并展示丰富的内容,滚动效果常常被广泛运用。"liMarquee.js" 是一个强大的JavaScript插件,专用于实现图片和文字的无缝...

    kxbdSuperMarquee.js无缝滚动

    《kxbdSuperMarquee.js无缝滚动技术详解》 在网页设计与开发中,滚动效果是一种常见的动态展示方式,能够吸引用户的注意力,提升用户体验。本文将深入探讨“kxbdSuperMarquee.js”这一JavaScript库,它提供了无缝...

    图片无缝滚动代码

    ### 图片无缝滚动代码知识点详解 #### 一、概述 图片无缝滚动技术是网页设计中常见的一种效果,常用于广告轮播、新闻滚动等场景。本文档提供的代码示例实现了一个简单的图片无缝垂直滚动功能,并且能够根据鼠标移动...

    jQuery kxbdMarquee 无缝滚动

    ### jQuery kxbdMarquee 无缝滚动插件知识点详解 #### 插件简介 `jQuery kxbdMarquee` 是一个基于 jQuery 的插件,用于实现网页元素的无缝滚动效果。该插件可以方便地应用于需要水平或垂直滚动显示内容的场景,如...

    jQuery 多功能无缝滚动插件

    在提供的文件名列表中,我们看到一个名为 `marquee.js` 的文件,这很可能就是实现无缝滚动效果的JavaScript代码。在实际应用中,`marquee.js` 可能包含了以下关键部分: 1. **初始化函数**:这个函数通常会在页面...

    图片无缝滚动

    **图片无缝滚动**是一种网页设计技巧,主要用于在有限的视窗内展示大量的图片或内容,通过平滑过渡实现图片的连续滚动效果,使得用户在浏览过程中不会察觉到明显的边界或跳变。这种技术广泛应用于各种网站和应用中,...

    sectionscrolljs是一款可以自动生成垂直整页滚动导航的jQuery插件

    `sectionscrolljs`就是这样一款专为实现垂直整页滚动导航而设计的jQuery插件。它提供了一种简单易用的方式,使得用户可以通过点击导航圆点在页面的各个section之间平滑地进行滚动,从而提升用户体验。 ### 插件特性...

    走马灯效果代码js appendChild实现的无缝滚动

    本文将详细介绍如何利用JavaScript中的`appendChild`方法结合CSS样式来实现一个简单的“走马灯”无缝滚动效果。 #### 二、关键概念解释 - **`appendChild`方法**:这是一个DOM操作方法,用于将一个节点添加到指定...

    无缝滚动改进版支持上下左右滚动(封装成函数)

    【无缝滚动技术详解】 无缝滚动是一种网页特效,用于在页面中创建流畅的、无中断的滚动效果,使得用户在浏览时感觉元素是连续不断地移动。这种技术常用于新闻滚动、图片轮播等场景,可以提升用户体验,使得内容展示...

    用Javascript来实现Marquee效果

    其中,`icefable1`用于显示滚动内容,而`icefable2`用于复制滚动内容并隐藏,以便实现无缝滚动效果。 - **内容元素**: 在`icefable1`中插入了多行链接,这些链接用于模拟实际应用中的滚动文本。 ##### 2.3 ...

    JS滚动字幕

    为了实现流畅且无限循环的效果,通常会将内容复制多份,以确保当到达底部时能够无缝衔接至顶部继续滚动。 #### 实现步骤 1. **定义滚动容器**:首先,创建一个`&lt;div&gt;`作为滚动容器,设置其ID为`marquees`,并在此...

    mCustom Scrollbar 滚动条

    **mCustom Scrollbar 滚动条详解** 在网页设计中,滚动条是不可或缺的元素,它帮助用户浏览超出屏幕范围的内容。然而,浏览器默认的滚动条样式往往显得单调且不符合现代网页设计的要求。这时,我们可以借助第三方...

    横向jQuery内容滚动插件Sly

    - **无限循环**:通过复制`items`并巧妙地排列,Sly能实现内容的无缝循环滚动,给用户带来无尽的浏览体验。 - **触控支持**:适配触屏设备,用户可以通过滑动来浏览内容,提升移动设备上的用户体验。 - **分页导航...

    jquery.nicescroll.rar

    无缝滚动通常用于创建无尽滚动效果,使用户在浏览内容时感觉不到内容的结束。在 jQuery.nicescroll 中,可以通过监听滚动事件并加载更多内容来实现。例如: ```javascript $("#mydiv").niceScroll().on("scroll", ...

    jquery 网页 滚动条 jScrollbar

    **jQuery网页滚动条jScrollbar详解** 在网页设计中,滚动条是不可或缺的元素,它允许用户查看超过浏览器视口的内容。然而,浏览器默认的滚动条样式通常比较单一,不符合现代网页设计的美观需求。这时,我们可以借助...

    jquery插件jcarousel制作滚动效果

    1. **无限循环**:jCarousel 可以实现无缝循环的滚动效果,使得列表中的第一个项目在最后一个项目之后再次出现,提供无尽的滚动体验。 2. **自动播放**:可以设置定时器自动滚动内容,增加动态展示效果。 3. **手动...

    jsScrolling 多彩网页滚动条插件附实例打包.zip

    **jsScrolling多彩网页滚动条插件详解及实例** 网页滚动条通常是浏览器默认样式,但随着网页设计的个性化发展,滚动条的外观和交互也变得越来越重要。`jsScrolling`是一个专门用于自定义网页滚动条样式的JavaScript...

Global site tag (gtag.js) - Google Analytics