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 相关文章推荐
ExtJs grid行 右键菜单的两种方法
Jun 19 Javascript
jquery中 $.expr使用实例介绍
Jun 09 Javascript
用队列模拟jquery的动画算法实例
Jan 20 Javascript
浅谈JavaScript中null和undefined
Jul 09 Javascript
js实现简单的省市县三级联动效果实例
Feb 18 Javascript
JavaScript日期对象(Date)基本用法示例
Jan 18 Javascript
Angular2 自定义validators的实现方法
Jul 05 Javascript
SVG动画vivus.js库使用小结(实例代码)
Sep 14 Javascript
原生JS与jQuery编写简单选项卡
Oct 30 jQuery
浅谈Vue.js中ref ($refs)用法举例总结
Dec 19 Javascript
vue中引入mxGraph的步骤详解
May 17 Javascript
jquery插件实现搜索历史
Apr 24 jQuery
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
解析argc argv在php中的应用
2013/06/24 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
2014/11/04 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
JS判断字符串包含的方法
2015/05/05 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
Bootstrap每天必学之滚动监听
2016/03/16 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
vue axios同步请求解决方案
2017/09/29 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
sharp.js安装过程中遇到的问题总结
2020/04/02 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
python基于socket实现网络广播的方法
2015/04/29 Python
日常整理python执行系统命令的常见方法(全)
2015/10/22 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
django基于restframework的CBV封装详解
2019/08/08 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
python判断正负数方式
2020/06/03 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
英国高街品牌:Miss Selfridge(塞尔弗里奇小姐)
2016/09/21 全球购物
Under Armour澳大利亚官网:美国知名的高端功能性运动品牌
2018/02/22 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
物业客服专员岗位职责
2013/11/30 职场文书
大学辅导员事迹材料
2014/02/05 职场文书
大学活动总结格式
2014/04/29 职场文书
科学发展观活动总结
2014/08/28 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
党员剖析材料范文
2014/12/18 职场文书
学校工会工作总结2015
2015/05/19 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python