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 相关文章推荐
如何用ajax来创建一个XMLHttpRequest对象
Dec 10 Javascript
删除select中所有option选项jquery代码
Aug 12 Javascript
可插入图片的TEXT文本框
Dec 27 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
Dec 16 Javascript
JavaScript中Function详解
Feb 27 Javascript
javascript闭包(Closure)用法实例简析
Nov 30 Javascript
jquery实现全屏滚动
Dec 28 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
Sep 19 Javascript
angularjs实现天气预报功能
Jun 16 Javascript
vue如何引入sass全局变量
Jun 28 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
Sep 04 Javascript
了解javascript中变量及函数的提升
May 27 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
网络资源
2006/10/09 PHP
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
vue 子组件向父组件传值方法
2018/02/26 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
Layui弹出层 加载 做编辑页面的方法
2019/09/16 Javascript
全面解析JavaScript Module模式
2020/07/24 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
python爬取拉勾网职位数据的方法
2018/01/24 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
Pyorch之numpy与torch之间相互转换方式
2019/12/31 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
Python configparser模块操作代码实例
2020/06/08 Python
巴西在线鞋店:Shoestock
2017/10/28 全球购物
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
结婚典礼证婚词
2014/01/11 职场文书
2015年国税春训心得体会
2015/03/09 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
五年级语文教学反思
2016/03/03 职场文书
四年级作文之说明文作文
2019/10/14 职场文书
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA