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之卸载鼠标事件的代码
May 14 Javascript
js 返回时间戳所对应的具体时间
Jul 20 Javascript
javascript计时器事件使用详解
Jan 07 Javascript
js兼容火狐获取图片宽和高的方法
May 21 Javascript
手机端转盘抽奖代码分享
Sep 10 Javascript
Javascript验证方法大全
Sep 21 Javascript
JS实现为排序好的字符串找出重复行的方法
Mar 02 Javascript
前端js实现文件的断点续传 后端PHP文件接收
Oct 14 Javascript
微信小程序 教程之事件
Oct 18 Javascript
jquery仿微信聊天界面
May 06 jQuery
详解JS中的柯里化(currying)
Aug 17 Javascript
使用layui实现树形结构的方法
Sep 20 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获取本周,上周,本月,上月,本季度日期的代码
2009/08/05 PHP
PHP防盗链的基本思想 防盗链的设置方法
2015/09/25 PHP
四个PHP非常实用的功能
2015/09/29 PHP
php实现搜索类封装示例
2016/03/31 PHP
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
在Javascript中处理字符串之big()方法的使用
2015/06/08 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
Express系列之multer上传的使用
2017/10/27 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
浅谈node模块与npm包管理工具
2018/01/03 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
python的三目运算符和not in运算符使用示例
2014/03/03 Python
详解python实现线程安全的单例模式
2018/03/05 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
基于python实现对文件进行切分行
2020/04/26 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
运动会广播稿400字
2014/01/25 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
决心书格式及范文
2019/06/24 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书