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 相关文章推荐
用JavaScript调用WebService的示例
Apr 07 Javascript
window.onload 加载完毕的问题及解决方案(下)
Jul 09 Javascript
node.js中的fs.fstatSync方法使用说明
Dec 15 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
May 19 Javascript
js实现文本框选中的方法
May 26 Javascript
js实现延时加载Flash的方法
Nov 26 Javascript
基于jquery实现下拉框美化特效
Feb 02 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 Javascript
js实现用户输入的小写字母自动转大写字母的方法
Jan 21 Javascript
jQuery弹出窗口简单实现代码
Mar 09 Javascript
vue使用keep-alive实现数据缓存不刷新
Oct 21 Javascript
JavaScript实现简单贪吃蛇效果
Mar 09 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/11/23 PHP
php递归列出所有文件和目录的代码
2008/09/10 PHP
PHP array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
php开启openssl的方法
2014/05/15 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
ReactRouter的实现方法
2021/01/25 Javascript
python连接sql server乱码的解决方法
2013/01/28 Python
python发送伪造的arp请求
2014/01/09 Python
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
python 将字符串转换成字典dict的各种方式总结
2018/03/23 Python
python 实现语音聊天机器人的示例代码
2018/12/02 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
PyTorch预训练Bert模型的示例
2020/11/17 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
房产买卖委托公证书
2014/04/04 职场文书
保险内勤岗位职责
2014/04/05 职场文书
员工生日会策划方案
2014/06/14 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
为Centos安装指定版本的Docker
2022/04/01 Servers
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA
SQLServer常见数学函数梳理总结
2022/08/05 MySQL
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript