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 相关文章推荐
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
Mar 27 Javascript
网页开发中的容易忽略的问题 javascript HTML中的table
Apr 15 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
Oct 18 Javascript
js获取隐藏元素宽高的实现方法
May 19 Javascript
Google 地图事件实例讲解
Aug 06 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
Dec 27 Javascript
使用jQuery实现购物车结算功能
Aug 15 jQuery
除Console.log()外更多的Javascript调试命令
Jan 24 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
Jun 07 Javascript
Vue EventBus自定义组件事件传递
Jun 25 Javascript
详解Vue项目部署遇到的问题及解决方案
Jan 11 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
Aug 12 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 判断数组是几维数组
2013/03/20 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
JavaScript中的连字符详解
2013/11/28 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
JS实现向iframe中表单传值的方法
2017/03/24 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
AngularJS上传文件的示例代码
2018/11/10 Javascript
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
在Python中使用Mako模版库的简单教程
2015/04/08 Python
对python字典过滤条件的实例详解
2019/01/22 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
儿科护士自我鉴定
2013/10/14 职场文书
高三学生评语大全
2014/04/25 职场文书
教室标语大全
2014/06/21 职场文书
党员自我剖析材料
2014/08/31 职场文书
党员作风建设整改方案
2014/10/27 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
python实现过滤敏感词
2021/05/08 Python
详解Spring Security如何在权限中使用通配符
2022/06/28 Java/Android