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 相关文章推荐
一直复略了的一个问题,关于表单重复提交
Feb 15 Javascript
javascript的offset、client、scroll使用方法详解
Dec 25 Javascript
Javascript操作URL函数修改版
Nov 07 Javascript
JS注释所产生的bug 即使注释也会执行
Nov 19 Javascript
倒记时60刷新网页的js代码
Feb 18 Javascript
CSS3 3D 技术手把手教你玩转
Sep 02 Javascript
纯JS打造网页中checkbox和radio的美化效果
Oct 13 Javascript
vue分类筛选filter方法简单实例
Mar 30 Javascript
vue中设置、获取、删除cookie的方法
Sep 21 Javascript
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
Oct 16 Javascript
vue实现二级导航栏效果
Oct 19 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
收音机术语解释
2021/03/01 无线电
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
javaScript中的原型解析【推荐】
2016/05/05 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
vue-router单页面路由
2017/06/17 Javascript
vuex提交state&amp;&amp;实时监听state数据的改变方法
2018/09/16 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
推荐11个实用Python库
2015/01/23 Python
python实现DES加密解密方法实例详解
2015/06/30 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
opencv python 2D直方图的示例代码
2018/07/20 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
Python socket模块方法实现详解
2019/11/05 Python
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2015/09/07 面试题
消防安全管理制度
2014/02/01 职场文书
班主任工作经验材料
2014/02/02 职场文书
书法比赛获奖感言
2014/02/10 职场文书
学生安全责任书
2014/04/15 职场文书
2014教师研修学习体会
2014/07/08 职场文书
中学推普周活动总结
2015/05/07 职场文书
五年级数学教学反思
2016/02/16 职场文书
高中数学教学反思范文
2016/02/18 职场文书
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
python编程实现清理微信重复缓存文件
2021/11/01 Python