使用jquery实现的循环连续可停顿滚动实例


Posted in Javascript onNovember 23, 2016

使用jquery实现的循环连续可停顿滚动,并应用于滚动图片,滚动层。记得一定要有jquery库哦~

一、单行滚动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
<html xmlns="http://www.w3.org/1999/xhtml">   
<head>   
<meta http-equiv="Content-Type" c />   
<title>无标题文档</title>   
<mce:style type="text/css"><!--   
ul,li{margin:0;padding:0}  
#scrollDiv{width:300px;height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}  
#scrollDiv li{height:25px;padding-left:10px;}   
--></mce:style><mce:style type="text/css" mce_bogus="1"><!-- 
ul,li{margin:0;padding:0}  
#scrollDiv{width:300px;height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}  
#scrollDiv li{height:25px;padding-left:10px;} 
--></mce:style><style type="text/css" mce_bogus="1" mce_bogus="1">ul,li{margin:0;padding:0}  
#scrollDiv{width:300px;height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}  
#scrollDiv li{height:25px;padding-left:10px;}</style>   
<mce:script src="jquery-1[1].2.1.pack.js" mce_src="jquery-1[1].2.1.pack.js" type="text/javascript"></mce:script>   
<mce:script type="text/javascript"><!--   
function AutoScroll(obj){   
    $(obj).find("ul:first").animate({   
        marginTop:"-25px"  
    },500,function(){   
        $(this).css({marginTop:"0px"}).find("li:first").appendTo(this);   
    });   
}   
$(document).ready(function(){   
setInterval('AutoScroll("#scrollDiv")',1000)   
});   
// --></mce:script>   
</head>   
<body>   
<div id="scrollDiv">   
<ul>   
  <li>这是公告标题的第一行</li>   
  <li>这是公告标题的第二行</li>   
  <li>这是公告标题的第三行</li>   
  <li>这是公告标题的第四行</li>   
  <li>这是公告标题的第五行</li>   
  <li>这是公告标题的第六行</li>   
  <li>这是公告标题的第七行</li>   
  <li>这是公告标题的第八行</li>   
</ul>   
</div>   
</body>   
</html>

二、多行滚动 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
<html xmlns="http://www.w3.org/1999/xhtml">   
<head>   
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />   
<title>无标题文档</title>   
<mce:style type="text/css"><!--   
ul,li{margin:0;padding:0}  
#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}  
#scrollDiv li{height:25px;padding-left:10px;}   
--></mce:style><mce:style type="text/css" mce_bogus="1"><!-- 
ul,li{margin:0;padding:0}  
#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}  
#scrollDiv li{height:25px;padding-left:10px;} 
--></mce:style><style type="text/css" mce_bogus="1" mce_bogus="1">ul,li{margin:0;padding:0}  
#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}  
#scrollDiv li{height:25px;padding-left:10px;}</style>   
<mce:script src="jquery-1[1].2.1.pack.js" mce_src="jquery-1[1].2.1.pack.js" type="text/javascript"></mce:script>   
<mce:script type="text/javascript"><!--   
//滚动插件   
(function($){   
$.fn.extend({   
    Scroll:function(opt,callback){   
        //参数初始化   
        if(!opt) var opt={};   
        var _this=this.eq(0).find("ul:first");   
        var    lineH=_this.find("li:first").height(), //获取行高   
            line=opt.line?parseInt(opt.line,10):parseInt(this.height()/lineH,10), //每次滚动的行数,默认为一屏,即父容器高度   
            speed=opt.speed?parseInt(opt.speed,10):500, //卷动速度,数值越大,速度越慢(毫秒)   
            timer=opt.timer?parseInt(opt.timer,10):3000; //滚动的时间间隔(毫秒)   
        if(line==0) line=1;   
        var upHeight=0-line*lineH;   
        //滚动函数   
        scrollUp=function(){   
            _this.animate({   
                marginTop:upHeight   
            },speed,function(){   
                for(i=1;i<=line;i++){   
                    _this.find("li:first").appendTo(_this);   
                }   
                _this.css({marginTop:0});   
            });   
        }   
        //鼠标事件绑定   
        _this.hover(function(){   
            clearInterval(timerID);   
        },function(){   
            timerID=setInterval("scrollUp()",timer);   
        }).mouseout();   
    }       
})   
})(jQuery);   
$(document).ready(function(){   
    $("#scrollDiv").Scroll({line:4,speed:500,timer:1000});   
});   
// --></mce:script>   
</head>   
<body>   
<p>多行滚动演示:</p>   
<div id="scrollDiv">   
<ul>   
  <li>这是公告标题的第一行</li>   
  <li>这是公告标题的第二行</li>   
  <li>这是公告标题的第三行</li>   
  <li>这是公告标题的第四行</li>   
  <li>这是公告标题的第五行</li>   
  <li>这是公告标题的第六行</li>   
  <li>这是公告标题的第七行</li>   
  <li>这是公告标题的第八行</li>   
</ul>   
</div>   
</body>   
</html>

三、可控制向前向后的多行滚动  

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
<html xmlns="http://www.w3.org/1999/xhtml">   
<head>   
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />   
<title>无标题文档</title>   
<mce:style type="text/css"><!--   
ul,li{margin:0;padding:0}  
#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}  
#scrollDiv li{height:25px;padding-left:10px;}   
--></mce:style><mce:style type="text/css" mce_bogus="1"><!-- 
ul,li{margin:0;padding:0}  
#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}  
#scrollDiv li{height:25px;padding-left:10px;} 
--></mce:style><style type="text/css" mce_bogus="1" mce_bogus="1">ul,li{margin:0;padding:0}  
#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}  
#scrollDiv li{height:25px;padding-left:10px;}</style>   
<mce:script src="jquery-1[1].2.1.pack.js" mce_src="jquery-1[1].2.1.pack.js" type="text/javascript"></mce:script>   
<mce:script type="text/javascript"><!--   
(function($){   
$.fn.extend({   
    Scroll:function(opt,callback){   
        //参数初始化   
        if(!opt) var opt={};   
        var _btnUp = $("#"+ opt.up);//Shawphy:向上按钮   
        var _btnDown = $("#"+ opt.down);//Shawphy:向下按钮   
        var timerID;   
        var _this=this.eq(0).find("ul:first");   
        var   lineH=_this.find("li:first").height(), //获取行高   
            line=opt.line?parseInt(opt.line,10):parseInt(this.height()/lineH,10), //每次滚动的行数,默认为一屏,即父容器高度   
            speed=opt.speed?parseInt(opt.speed,10):500; //卷动速度,数值越大,速度越慢(毫秒)   
            timer=opt.timer //?parseInt(opt.timer,10):3000; //滚动的时间间隔(毫秒)   
        if(line==0) line=1;   
        var upHeight=0-line*lineH;   
        //滚动函数   
        var scrollUp=function(){   
            _btnUp.unbind("click",scrollUp); //Shawphy:取消向上按钮的函数绑定   
            _this.animate({   
                marginTop:upHeight   
            },speed,function(){   
                for(i=1;i<=line;i++){   
                    _this.find("li:first").appendTo(_this);   
                }   
                _this.css({marginTop:0});   
                _btnUp.bind("click",scrollUp); //Shawphy:绑定向上按钮的点击事件   
            });   
        }   
        //Shawphy:向下翻页函数   
        var scrollDown=function(){   
            _btnDown.unbind("click",scrollDown);   
            for(i=1;i<=line;i++){   
                _this.find("li:last").show().prependTo(_this);   
            }   
            _this.css({marginTop:upHeight});   
            _this.animate({   
                marginTop:0   
            },speed,function(){   
                _btnDown.bind("click",scrollDown);   
            });   
        }   
        //Shawphy:自动播放   
        var autoPlay = function(){   
            if(timer)timerID = window.setInterval(scrollUp,timer);   
        };   
        var autoStop = function(){   
            if(timer)window.clearInterval(timerID);   
        };   
         //鼠标事件绑定   
        _this.hover(autoStop,autoPlay).mouseout();   
        _btnUp.css("cursor","pointer").click( scrollUp ).hover(autoStop,autoPlay);//Shawphy:向上向下鼠标事件绑定   
        _btnDown.css("cursor","pointer").click( scrollDown ).hover(autoStop,autoPlay);   
    }      
})   
})(jQuery);   
$(document).ready(function(){   
    $("#scrollDiv").Scroll({line:4,speed:500,timer:1000,up:"btn1",down:"btn2"});   
});   
// --></mce:script>   
</head>   
<body>   
<p>多行滚动演示:</p>   
<div id="scrollDiv">   
<ul>   
  <li>这是公告标题的第一行</li>   
  <li>这是公告标题的第二行</li>   
  <li>这是公告标题的第三行</li>   
  <li>这是公告标题的第四行</li>   
  <li>这是公告标题的第五行</li>   
  <li>这是公告标题的第六行</li>   
  <li>这是公告标题的第七行</li>   
  <li>这是公告标题的第八行</li>   
</ul>   
</div>   
<span id="btn1">向前</span> <span id="btn2">向后</span>   
</body>   
</html>

以上这篇使用jquery实现的循环连续可停顿滚动实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS Range HTML文档/文字内容选中、库及应用介绍
May 12 Javascript
JavaScript类继承及实例化的方法
Jul 25 Javascript
理解javascript中DOM事件
Dec 25 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
Sep 20 Javascript
JavaScript常用正则函数用法示例
Jan 23 Javascript
Vue2.5通过json文件读取数据的方法
Feb 27 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
基于打包工具Webpack进行项目开发实例
May 29 Javascript
微信小程序开发之自定义tabBar的实现
Sep 06 Javascript
node.js基于socket.io快速实现一个实时通讯应用
Apr 23 Javascript
vue-router为激活的路由设置样式操作
Jul 18 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
Sep 22 Javascript
纯JS代码实现隔行变色鼠标移入高亮
Nov 23 #Javascript
jQuery实现ToolTip元素定位显示功能示例
Nov 23 #Javascript
详解jQuery的Cookie插件
Nov 23 #Javascript
JS 实现可停顿的垂直滚动实例代码
Nov 23 #Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
Nov 22 #Javascript
解析jQueryEasyUI的使用
Nov 22 #Javascript
详解jQuery插件开发方式
Nov 22 #Javascript
You might like
一个简洁的多级别论坛
2006/10/09 PHP
php面向对象全攻略 (二) 实例化对象 使用对象成员
2009/09/30 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
PHP Global定义全局变量使用说明
2013/08/15 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
PHP实现按之字形顺序打印二叉树的方法
2018/01/16 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
使用Browserify配合jQuery进行编程的超级指南
2015/07/28 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
2017/06/13 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
python3.3使用tkinter开发猜数字游戏示例
2014/03/14 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
python杀死一个线程的方法
2015/09/06 Python
Python制作刷网页流量工具
2017/04/23 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
Python进程间通信Queue实例解析
2018/01/25 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
蔻驰英国官网:COACH英国
2020/07/19 全球购物
EJB3.1都有哪些改进
2012/11/17 面试题
资金主管岗位职责范本
2014/03/04 职场文书
劳资协议书范本
2014/04/23 职场文书
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏