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 相关文章推荐
经典的带阴影的可拖动的浮动层
Jun 26 Javascript
自动检查并替换文本框内的字符
Jun 30 Javascript
jQuery之ajax删除详解
Feb 27 Javascript
让图片跳跃起来  javascript图片轮播特效
Feb 16 Javascript
js动态获取子复选项并设计全选及提交的实现方法
Jun 24 Javascript
基于jquery实现的鼠标悬停提示案例
Dec 11 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
Jan 19 Javascript
页面间固定参数,通过cookie传值的实现方法
May 31 Javascript
Vue内部渲染视图的方法
Sep 02 Javascript
Webpack按需加载打包chunk命名的方法
Sep 22 Javascript
JS原型和原型链原理与用法实例详解
Feb 05 Javascript
在js中修改html body的样式
Nov 11 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
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
php引用传值实例详解学习
2013/11/06 PHP
php计算整个目录大小的方法
2015/06/01 PHP
PHP全局变量与超级全局变量区别分析
2016/04/01 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
简单学习vue指令directive
2016/11/03 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
2017/03/09 Javascript
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
详解html-webpack-plugin用法全解
2018/01/22 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
浅谈JavaScript 声明提升
2020/09/14 Javascript
[48:28]完美世界DOTA2联赛循环赛FTD vs Magma第二场 10月30日
2020/10/31 DOTA
教你安装python Django(图文)
2013/11/04 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
详解python和matlab的优势与区别
2019/06/28 Python
Python ini文件常用操作方法解析
2020/04/26 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
德国最大的设计师鞋网上商店:Budapester
2017/12/07 全球购物
博士生入学考试推荐信
2013/11/17 职场文书
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
我爱我的祖国演讲稿
2014/05/04 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
2014年财务科工作总结
2014/11/11 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
Kubernetes部署实例并配置Deployment、网络映射、副本集
2022/04/01 Servers