jQuery实现带有上下控制按钮的简单多行滚屏效果代码


Posted in Javascript onSeptember 04, 2015

本文实例讲述了jQuery实现带有上下控制按钮的简单多行滚屏效果代码。分享给大家供大家参考。具体如下:

这里使用了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" content="text/html; charset=gb2312" />
<title>用jQuery实现最简单的滚屏效果,加了上下按钮</title>
<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;}
</style>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<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:3000,up:"btn1",down:"btn2"});
});
</script>
</head>
<body>
<p>多行滚动演示:</p>
<div id="scrollDiv">
<ul>
<li><a href="" target="_blank">信言企业公司建站程序 v1</a></li>
<li><a href="" target="_blank">EPffms 环保时代ASP家庭财务管理系统 v5.0</a></li>
<li><a href="" target="_blank">jQuery两幅图像动画叠加的效果</a></li>
<li><a href="" target="_blank">Android 滑动提示、菜单及列表等小程序源码</a></li>
<li><a href="" target="_blank">Maxcms 马克斯电影视频系统 v4.0</a></li>
<li><a href="" target="_blank">DedeCms v5.7 GBK</a></li>
<li><a href="" target="_blank">DedeCms v5.7 UTF-8</a></li>
<li><a href="" target="_blank">Piwik PHP站点流量统计系统 v1.2.1</a></li>
</ul>
</div>
<span id="btn2">向上</span>
<span id="btn1">向下</span>
</body>
</html>

希望本文所述对大家的jquery程序设计有所帮助。

Javascript 相关文章推荐
语义化 H1 标签
Jan 14 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
Aug 19 Javascript
JavaScript函数作用域链分析
Feb 13 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
Jun 18 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
Aug 05 Javascript
JS表格组件神器bootstrap table详解(基础版)
Dec 08 Javascript
浅谈jquery中使用canvas的问题
Oct 10 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
Apr 26 Javascript
微信小程序使用npm支持踩坑
Nov 07 Javascript
vue+element实现表格新增、编辑、删除功能
May 28 Javascript
layer ui 导入文件之前传入数据的实例
Sep 23 Javascript
TypeScript之调用栈的实现
Dec 31 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
Sep 04 #Javascript
js实现网站最上边可关闭的浮动广告条代码
Sep 04 #Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
Sep 04 #Javascript
jquery实现的Accordion折叠面板效果代码
Sep 02 #Javascript
jQuery实现带延迟效果的滑动菜单代码
Sep 02 #Javascript
jquery实现顶部向右伸缩的导航区域代码
Sep 02 #Javascript
jquery实现的Banner广告收缩效果代码
Sep 02 #Javascript
You might like
php.ini中的php-5.2.0配置指令详解
2008/03/27 PHP
php 取得瑞年与平年的天数的代码
2009/08/10 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
PHP实现抓取Google IP并自动修改hosts文件
2015/02/12 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
调用HttpHanlder的几种返回方式小结
2013/12/20 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
基于jQuery实现的打字机效果
2017/01/16 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
js 毫秒转天时分秒的实例
2017/11/17 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
2019/10/31 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
python 字典访问的三种方法小结
2019/12/05 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
数学检讨书1000字
2014/02/24 职场文书
教导主任个人总结
2015/03/03 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
人工作失职检讨书
2015/05/05 职场文书
高中生物教学反思
2016/02/20 职场文书
Python爬取某拍短视频
2021/06/11 Python