JS实现单行文字不间断向上滚动的方法


Posted in Javascript onJanuary 29, 2015

本文实例讲述了JS实现单行文字不间断向上滚动的方法。分享给大家供大家参考。具体分析如下:

前几天帮一个朋友写了一个单行文字不间断向上滚动的JS效果,现在分享给需要的weber。先看HTML和CSS代码:

CSS:

.wrap{padding:10px;border:1px #ccc solid; width:500px;margin:20px auto;}

.roll-wrap{height:130px;overflow:hidden;}

HTML:

<div class="wrap">

    <div class="roll-wrap" id="roll-wrap">

        <ul>

            <li>JS文本向上滚动1</li>

            <li>JS文本向上滚动2</li>

            <li>JS文本向上滚动3</li>

            <li>JS文本向上滚动4</li>

            <li>JS文本向上滚动5</li>

            <li>JS文本向上滚动6</li>

            <li>JS文本向上滚动7</li>

        </ul>

    </div>

</div>

该动画效果的原理是 先将ul向上滚动一个li的高度,滚动完后将ul里面的第一个li放到ul的末尾,这时原第二个li变成了ul里面的第一个li,然后再重复上面的动作,就这样不断重复实现不间断滚动。

JS(jQuery)代码:

function scrollTxt(){

    var controls={}, 

        values={},

        t1=200, /*播放动画的时间*/

        t2=2000, /*播放时间间隔*/

        si;

    controls.rollWrap=$("#roll-wrap");

    controls.rollWrapUl=controls.rollWrap.children();

    controls.rollWrapLIs=controls.rollWrapUl.children();

    values.liNums=controls.rollWrapLIs.length;

    values.liHeight=controls.rollWrapLIs.eq(0).height();

    values.ulHeight=controls.rollWrap.height();

    this.init=function(){

        autoPlay();

        pausePlay();

    }

    /*滚动*/

    function play(){

        controls.rollWrapUl.animate({"margin-top" : "-"+values.liHeight}, t1, function(){

            $(this).css("margin-top" , "0").children().eq(0).appendTo($(this));

        });

    }

    /*自动滚动*/

    function autoPlay(){

        /*如果所有li标签的高度和大于.roll-wrap的高度则滚动*/

        if(values.liHeight*values.liNums > values.ulHeight){

            si=setInterval(function(){

                play();

            },t2);

        }

    }

    /*鼠标经过ul时暂停滚动*/

    function pausePlay(){

        controls.rollWrapUl.on({

            "mouseenter":function(){

                clearInterval(si);

            },

            "mouseleave":function(){

                autoPlay();

            }

        });

    }

}

new scrollTxt().init();

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
jquery 操作日期、星期、元素的追加的实现代码
Feb 07 Javascript
jquery怎样实现ajax联动框(一)
Mar 08 Javascript
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
jQuery照片伸缩效果不影响其他元素的布局
May 09 Javascript
JavaScript 学习笔记之数据类型
Jan 14 Javascript
JavaScript 节流函数 Throttle 详解
Jul 04 Javascript
jquery Easyui Datagrid实现批量操作(编辑,删除,添加)
Feb 20 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
Oct 25 Javascript
基于javascript中的typeof和类型判断(详解)
Oct 27 Javascript
React组件内事件传参实现tab切换的示例代码
Jul 04 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
Aug 30 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
Sep 04 Javascript
JS清除选择内容的方法
Jan 29 #Javascript
IE中鼠标经过option触发mouseout的解决方法
Jan 29 #Javascript
JS判断是否360安全浏览器极速内核的方法
Jan 29 #Javascript
jQuery中$.each使用详解
Jan 29 #Javascript
jQuery显示和隐藏 常用的状态判断方法
Jan 29 #Javascript
移动设备web开发首选框架:zeptojs介绍
Jan 29 #Javascript
JSON格式的键盘编码对照表
Jan 29 #Javascript
You might like
php 各种应用乱码问题的解决方法
2010/05/09 PHP
QQ登录 PHP OAuth示例代码
2011/07/20 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
网上抓的一个特效
2007/05/11 Javascript
Domino中运用jQuery读取视图内容的方法
2009/10/21 Javascript
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
node.js中的console.log方法使用说明
2014/12/09 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
BootStrap3中模态对话框的使用
2017/01/06 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
Python与shell的3种交互方式介绍
2015/04/11 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
linux查找当前python解释器的位置方法
2019/02/20 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
英国受欢迎的运动鞋和街头服装商店:Footasylum
2018/06/12 全球购物
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
大学生优秀自荐信范文
2014/02/25 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
温馨提示标语
2014/06/26 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
校园运动会广播稿
2015/08/19 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
Redis集群的关闭与重启操作
2021/07/07 Redis
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫