javascript 实现滚动效果代码整理

 更新时间:2010年03月18日 21:09:21   作者:  
javascript 实现滚动效果代码整理,需要的朋友可以参考下。
1.先写两个最常用最简洁的滚动代码
代码如下:
水平滚动:
<marquee direction="left" align="bottom" height="25" width="100%" onmouseout="this.start()" onmouseover="this.stop()" scrollamount="2" scrolldelay="1">水平滚动字幕内容</marquee>
垂直滚动:
<marquee direction="up" height="200" onmouseout="this.start()" onmouseover="this.stop()" scrollAmount="1" scrollDelay="1">垂直滚动字内容</marquee>
2.平稳不间断滚动
复制代码 代码如下:

<SCRIPT LANGUAGE="JavaScript">
var tm=null
function newsScroll() {
var scrollimg=document.getElementById("scroll")
if(scrollimg.parentNode.scrollTop!=(scrollimg.clientHeight/2))
scrollimg.parentNode.scrollTop++;
else
scrollimg.parentNode.scrollTop=0
}
window.onload=function() {
tm=setInterval('newsScroll()',25)
}
function stop()
{
clearInterval(tm)
}
function start()
{
tm=setInterval('newsScroll()',25)
}
</SCRIPT>
/* stop() start() 不能和调用ID在同一个容器内, 如容器没默认高度 要制定高度*/

3 有停留滚动
代码示例:

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

4:一个简单的滚动代码学习制作示例

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

Js代码说明:
JavaScript代码:
复制代码 代码如下:

var s,sn=0,timer,slen,timer2;
//初始化设置
function scrollInit(){
s=getid("s1"); //获取需要滚动内容的对象
s.scrollTop=0; //初始化滚动位置
slen=s.innerHTML.split("|"); //获取滚动内容,并存入数组,以便显示调用
s.innerHTML=""; //清空滚动对象内容
for(var i=0;i<slen.length;i++){s.innerHTML+=(slen[i]+"<br />");} //格式化输出滚动内容
s.innerHTML+=slen[0];
timer2=setInterval(scrollstart,3000); //开始滚动
s.onmouseover=function(){clearInterval(timer2);clearInterval(timer);s.style.backgroundColor="#ccc";} //鼠标经过,停止滚动,改变样式
s.onmouseout=function(){timer2=setInterval(scrollstart,3000);s.style.backgroundColor="#fff";} //鼠标移开,恢复滚动
}
//开启滚动效果
function scrollstart(){
if(s.scrollTop>=(slen.length*20)){s.scrollTop=0;} //滚动内容到底时,重置内容位置
timer=setInterval(scrollexec,30); //执行滚动动画效果
}
//滚动动画效果
function scrollexec(){
if(sn<20){
sn++;
s.scrollTop++;
}else{
sn=0;
clearInterval(timer);
}
}
//通过ID获取对象
function getid(id){return document.getElementById(id);}
//网页加载后,执行初始化
window.onload=scrollInit;

原理解析:
1、首先给容器设定高度或宽度,比如div,设置div高20px;overflow:hidden;
2、容器高度设定后,内容的高度超出20px,超过部分溢出,被隐藏,scrollTop属性可用,这一点可以用overflow:scroll来看效果;
3、改变容器的scrollTop(上下滚动)或scrollLeft(左右滚动)属性的值,让内容移动位置(滚动的原理);
4、到滚动的高度scrollTop大于或等于内容的高度时,设置scrollTop=0,让内容返回原来的位置,重新开始滚动,无间断循环滚动效果就出现了。

相关文章

  • javascript一些不错的函数脚本代码

    javascript一些不错的函数脚本代码

    收集一些不多见的好用的自定义函数代码 计算字符长度的js函数 去字符中前后的空格的js函数 图片自适应大小函数代码
    2008-09-09
  • JavaScript模块化开发流程分步讲解

    JavaScript模块化开发流程分步讲解

    这篇文章主要介绍了JavaScript模块化开发流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • 原生JS实现图片网格式渐显、渐隐效果

    原生JS实现图片网格式渐显、渐隐效果

    这篇文章主要介绍了原生JS实现图片网格式渐显、渐隐效果,需要的朋友可以参考下
    2017-06-06
  • JS实现表格数据各种搜索功能的方法

    JS实现表格数据各种搜索功能的方法

    这篇文章主要介绍了JS实现表格数据各种搜索功能的方法,可实现忽略大小写,模糊搜索,多关键搜索等功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • js实现瀑布流的一种简单方法实例分享

    js实现瀑布流的一种简单方法实例分享

    现在说瀑布流式布局似乎有点晚了,但是每一项技术都是向着“精”和“简”的方向在不断发展,在发展到极致之前,需要一个相当漫长的过程,因此,从这个角度来说,当瀑布流被应用得越来越多的时候,反而更应该讨论它,讨论如何将它改善
    2013-11-11
  • JS时间转换标准格式、时间戳转换标准格式的示例代码

    JS时间转换标准格式、时间戳转换标准格式的示例代码

    这篇文章主要介绍了JS时间转换标准格式、时间戳转换标准格式的示例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • JavaScript如何一次性展示几万条数据

    JavaScript如何一次性展示几万条数据

    本文主要介绍了JavaScript一次性展示几万条数据的实现方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • JScript面向事件驱动的编程

    JScript面向事件驱动的编程

    JScript面向事件驱动的编程...
    2007-01-01
  • BootStrap栅格之间留空隙的解决方法

    BootStrap栅格之间留空隙的解决方法

    BootStrap栅格系统可以把我们的container容器划分为若干等分,如果想要每个部分之间留出一定的空隙,那么应该怎么解决,本文就来介绍一下
    2021-08-08
  • echarts如何实现带百分比的横向柱状图

    echarts如何实现带百分比的横向柱状图

    近期在使用echart开发过程中遇到一些问题,需要开发横向柱状图,下面这篇文章主要给大家介绍了关于echarts如何实现带百分比的横向柱状图的相关资料,需要的朋友可以参考下
    2021-12-12

最新评论