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 实例一(first)
Mar 16 Javascript
javascript针对DOM的应用分析(二)
Apr 15 Javascript
JS简单的轮播的图片滚动实例
Jun 17 Javascript
js给网页加上背景音乐及选择音效的方法
Mar 03 Javascript
node.js中 stream使用教程
Aug 28 Javascript
如何获取TypeScript的声明文件.d.ts
May 01 Javascript
深入浅析Vue中的Prop
Jun 10 Javascript
利用Angular7开发一个Radio组件的全过程
Jul 11 Javascript
uni app仿微信顶部导航条功能
Sep 17 Javascript
javascript设计模式 ? 原型模式原理与应用实例分析
Apr 10 Javascript
JS如何实现基于websocket的多端桥接平台
May 14 Javascript
JavaScript 中for/of,for/in 的详细介绍
Nov 17 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实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
PHP判断当前使用的是什么浏览器(推荐)
2019/10/27 PHP
菜单效果
2006/10/14 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
js中用window.open()打开多个窗口的name问题
2014/03/13 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
javascript弹出带文字信息的提示框效果
2016/07/19 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
python的id()函数解密过程
2012/12/25 Python
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
Python使用MD5加密字符串示例
2014/08/22 Python
Python实现高效求解素数代码实例
2015/06/30 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
Python处理JSON数据并生成条形图
2016/08/05 Python
Python实现多属性排序的方法
2018/12/05 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
毕业生多媒体设计求职信
2013/10/12 职场文书
客户接待方案
2014/02/26 职场文书
小学六年级学生评语
2014/04/22 职场文书
房地产广告策划方案
2014/05/15 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
教室布置标语
2014/06/26 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
考研英语辞职信
2015/05/13 职场文书
家长通知书家长意见
2015/06/03 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python