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 相关文章推荐
网站上面有这种切换效果
Jun 26 Javascript
几款极品的javascript压缩混淆工具
May 16 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
Jul 04 Javascript
直接拿来用的15个jQuery代码片段
Sep 23 Javascript
微信小程序 wx:for的使用实例详解
Apr 27 Javascript
JS使用正则表达式找出最长连续子串长度
Oct 26 Javascript
基于jquery实现五星好评
Nov 18 jQuery
原生JS写Ajax的请求函数功能
Dec 22 Javascript
详解Angular调试技巧之报错404(not found)
Jan 31 Javascript
使用webpack搭建vue项目及注意事项
Jun 10 Javascript
Vuex实现数据增加和删除功能
Nov 11 Javascript
使用JavaScript实现贪吃蛇游戏
Sep 29 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
农民C键的运用技巧
2020/03/04 星际争霸
如何过滤高亮显示非法字符
2006/10/09 PHP
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
PHP $_FILES中error返回值详解
2014/01/30 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
javascript实现动态增加删除表格行(兼容IE/FF)
2007/04/02 Javascript
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
Javascript 事件流和事件绑定
2009/07/16 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
jQuery设置Easyui校验规则(推荐)
2016/11/21 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
layui实现三级联动效果
2019/07/26 Javascript
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
python实现2048小游戏
2015/03/30 Python
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
Python中几个比较常见的名词解释
2015/07/04 Python
python使用str &amp; repr转换字符串
2016/10/13 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
澳大利亚百货公司:David Jones
2018/02/08 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
如何使用PHP session
2015/04/21 面试题
毕业生毕业总结的自我评价范文
2013/11/02 职场文书
机电专业大学生职业规划书范文
2014/02/25 职场文书
师德师风承诺书
2014/05/23 职场文书
十佳文明家庭事迹
2014/05/25 职场文书
会计工作能力自我评价
2015/03/05 职场文书
员工年度工作总结2015
2015/05/18 职场文书
分布式Redis Cluster集群搭建与Redis基本用法
2022/02/24 Redis
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫