基于jquery可配置循环左右滚动例子


Posted in Javascript onSeptember 09, 2011
<!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> 
<title>可配置横栏滚动Demo</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<style type="text/css"> 
* { margin:0; padding:0;} 
body { font-size:12px;} 
</style> 
<script src="jquery-1.4.1.js" type="text/javascript"></script> 
<style type="text/css"> 
#scrollable { 
background-color:#efefef; 
border:1px solid #ddd; 
padding:10px 8px; 
width:523px; 
height:65px; 
margin-top:30px; 
} 
div.items { 
height:66px; 
margin-left:8px; 
float:left; 
width:475px !important; 
} 
div.items a { 
display:block; 
float:left; 
margin-right:8px; 
width:88px; 
height:66px; 
background:#BBB; 
font-size:50px; 
color:#ccc; 
line-height:66px; 
text-decoration:none; 
text-align:center; 
cursor:pointer; 
} 
div.items a:hover { 
color:#999; 
} 
div.items a.active { 
background-position:-174px 0; 
color:#555; 
cursor:default; 
} 
a.prev, a.next { 
background:url(left.png) no-repeat 0 0; 
display:block; 
width:18px; 
height:18px; 
float:left; 
margin:22px 0 0 0; 
cursor:pointer; 
} 
a.next { 
background-image:url(right.png) 
} 
a.prev:hover { 
background-position:0 -18px; 
} 
a.next:hover { 
background-position:0 -18px; 
} 
</style> 
<script language="javascript" type="text/javascript"> 
(function ($) { 
$.fn.extend({ 
Scroll: function (opt, callback) { 
if (!opt) var opt = {}; 
var _btnleft = $(opt.left); 
var _btnright = $(opt.right); 
var timerID; 
var _this = this.eq(0).find("div").eq(1); 
var lineW = _this.find("a:first").width(), //获取列宽 
line = opt.line ? parseInt(opt.line, 10) : parseInt(_this.width() / lineW, 10), //每次滚动的列数,默认为一屏,即父容器列宽 
speed = opt.speed ? parseInt(opt.speed, 10) : 500; //滚动速度,数值越大,速度越慢(毫秒) 
timer = opt.timer ? parseInt(opt.timer, 10) : 3000; //滚动的时间间隔(毫秒) 
if (line == 0) line = 1; 
var upWidth = 0 - line * lineW; 
//滚动函数 
var scrollLeft = function () { 
if (!_this.is(":animated")) { 
_this.animate({ 
left: upWidth 
}, speed, function () { 
for (i = 1; i <= line; i++) { 
_this.find("a:first").appendTo(_this); 
} 
_this.css({ left: 0 }); 
}); 
} 
} 
var scrollRight = function () { 
if (!_this.is(":animated")) { 
for (i = 1; i <= line; i++) { 
_this.find("a:last").show().prependTo(_this); 
} 
_this.css({ left: upWidth }); 
_this.animate({ 
left: 0 
}, speed, function () { 
}); 
} 
} //Shawphy:自动播放 
var autoPlay = function () { 
if (timer) timerID = window.setInterval(scrollLeft, timer); 
}; 
var autoStop = function () { 
if (timer) window.clearInterval(timerID); 
};




//鼠标事件绑定 
_this.hover(autoStop, autoPlay).mouseout(); 
_btnleft.css("cursor", "pointer").click(scrollLeft).hover(autoStop, autoPlay); 
_btnright.css("cursor", "pointer").click(scrollRight).hover(autoStop, autoPlay); 
} 
}) 
})(jQuery); 
$(document).ready(function () { 
$("#scrollable").Scroll({ line: 5, speed: 500, timer: 3000, left: ".prev", right: ".next"}); 
}); 
</script> 
</head> 
<body> 
<div style="margin:0 auto;width:500px;"> 
<div id="scrollable"> 
<a class="prev" href="#"></a> 
<div class="items" style="overflow: hidden; position: relative; visibility: visible; width: 478px;"> 
<div style="position: absolute; width: 200000em; left: 0px;" class="scrollable_demo"> 
<a>1</a> 
<a>2</a> 
<a>3</a> 
<a>4</a> 
<a>5</a> 
<a>6</a> 
<a>7</a> 
<a>8</a> 
<a>9</a> 
<a>10</a> 
<a>11</a> 
<a>12</a> 
<a>13</a> 
<a>14</a> 
<a>15</a> 
</div> 
<br clear="all"/> 
</div> 
<a class="next" href="#"></a> 
</div> 
</div> 
</body> 
</html>

说明:1、需要两个图片

left.png:

基于jquery可配置循环左右滚动例子

right.png:

基于jquery可配置循环左右滚动例子

2、需要引入jquery的包,这个应该不用说的......

Javascript 相关文章推荐
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
Mar 10 Javascript
setInterval,setTimeout与jquery混用的问题
Apr 08 Javascript
如何利用AngularJS打造一款简单Web应用
Dec 05 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
Aug 08 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
Jan 13 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
Jan 17 Javascript
bootstrap实现动态进度条效果
Mar 08 Javascript
vue axios 表单提交上传图片的实例
Mar 16 Javascript
JS拖拽排序插件Sortable.js用法实例分析
Feb 20 Javascript
如何实现双向绑定mvvm的原理实现
May 28 Javascript
JavaScript的查询机制LHS和RHS解析
Aug 16 Javascript
layui select 禁止点击的实现方法
Sep 05 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
Sep 09 #Javascript
详谈 Jquery Ajax异步处理Json数据.
Sep 09 #Javascript
$.ajax返回的JSON无法执行success的解决方法
Sep 09 #Javascript
yepnope.js 异步加载资源文件
Sep 08 #Javascript
jquery绑定原理 简单解析与实现代码分享
Sep 06 #Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
Sep 05 #Javascript
JQuery扩展插件Validate—4设置错误提示的样式
Sep 05 #Javascript
You might like
php注入实例
2006/10/09 PHP
利用PHP制作简单的内容采集器的原理分析
2008/10/01 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
PHP中for与foreach的区别分析
2011/03/09 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
jQuery 三击事件实现代码
2013/09/11 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
laydate只显示时分 不显示秒的功能实现方法
2019/09/28 Javascript
Python中的进程分支fork和exec详解
2015/04/11 Python
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
Python实战购物车项目的实现参考
2019/02/20 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
详解vscode实现远程linux服务器上Python开发
2020/11/10 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
便利店投资的创业计划书
2014/01/12 职场文书
工程质量月活动方案
2014/02/19 职场文书
秋季运动会广播稿
2014/02/22 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
民事赔偿协议书
2014/11/02 职场文书
给老婆的道歉信
2015/01/20 职场文书
2015年老干部工作总结
2015/04/23 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书