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 相关文章推荐
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
Aug 27 Javascript
Backbone.js的一些使用技巧
Jul 01 Javascript
浅谈JavaScript的计时器对象
Dec 26 Javascript
javascript实现二叉树的代码
Jun 08 Javascript
javaScript中的空值和假值
Dec 18 Javascript
JavaScript中的高级函数
Jan 04 Javascript
vue自定义底部导航栏Tabbar的实现代码
Sep 03 Javascript
一个因@click.stop引发的bug的解决
Jan 08 Javascript
javascript实现手动点赞效果
Apr 09 Javascript
vue之a-table中实现清空选中的数据
Nov 07 Javascript
微信小程序按顺序同步执行的两种方式
Dec 20 Javascript
Js视频播放器插件Video.js使用方法详解
Feb 04 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 中的类
2006/10/09 PHP
ADODB的数据库封包程序库
2006/12/31 PHP
PHP 工厂模式使用方法
2010/05/18 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
php常用Stream函数集介绍
2013/06/24 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
javascript判断office版本示例
2014/04/11 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
JavaScript Ajax实现异步通信
2016/12/14 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
jQuery实现获取当前鼠标位置并输出功能示例
2019/01/05 jQuery
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
Koa 中的错误处理解析
2019/04/09 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
python使用urlparse分析网址中域名的方法
2015/04/15 Python
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
Python实现对adb命令封装
2020/03/06 Python
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
会计主管岗位职责范文
2013/11/08 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
求职自荐信怎么写
2015/03/04 职场文书
2015教师年度考核评语
2015/03/25 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
创业计划之特色精品店
2019/08/12 职场文书
MySQL大小写敏感的注意事项
2021/05/24 MySQL