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 相关文章推荐
javascript EXCEL 操作类代码
Jul 30 Javascript
Js切换功能的简单方法
Nov 23 Javascript
动态加载script文件的两种方法
Aug 15 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
Dec 05 Javascript
ParseInt函数参数设置介绍
Jan 02 Javascript
js的Boolean对象初始值示例
Mar 04 Javascript
javascript中hasOwnProperty() 方法使用指南
Mar 09 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
Sep 17 Javascript
jQuery实现限制文本框的输入长度
Jan 11 Javascript
vue自定义switch开关组件,实现样式可自行更改
Nov 01 Javascript
js实现移动端吸顶效果
Jan 08 Javascript
JS中的const命令你真懂它吗
Mar 08 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
Laravel 实现数据软删除功能
2019/08/21 PHP
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
微信小程序class封装http代码实例
2019/08/24 Javascript
Python标准库之循环器(itertools)介绍
2014/11/25 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
老生常谈python之鸭子类和多态
2017/06/13 Python
Python 字符串换行的多种方式
2018/09/06 Python
Python 使用type来定义类的实现
2019/11/19 Python
Python 中@property的用法详解
2020/01/15 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
Ratchet 模态框的实现
2020/08/19 HTML / CSS
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
优秀教导主任事迹材料
2014/05/09 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
九一八事变演讲稿范文
2014/09/14 职场文书
2014教师党员自我评议总结
2014/09/19 职场文书
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
护士求职自荐信范文
2015/03/04 职场文书
2016大学自主招生推荐信范文
2015/03/23 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers