基于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 相关文章推荐
JavaScript 编程引入命名空间的方法
Jun 29 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
May 25 Javascript
使用jquery的ajax需要注意的地方dataType的设置
Aug 12 Javascript
YUI模块开发原理详解
Nov 18 Javascript
JS判断表单输入是否为空(示例代码)
Dec 23 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
Nov 02 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
Jan 12 Javascript
Node.js应用设置安全的沙箱环境
Apr 23 Javascript
基于JavaScript实现一个简单的Vue
Sep 26 Javascript
VUE引入第三方js包及调用方法讲解
Mar 01 Javascript
JavaScript函数重载操作实例浅析
May 02 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
Jun 01 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 搜索框提示(自动完成)实例代码
2012/02/05 PHP
提高PHP编程效率的方法
2013/11/07 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
YII2框架中查询生成器Query()的使用方法示例
2020/03/18 PHP
JavaScript 给汉字排序实例代码
2008/06/28 Javascript
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
2019/05/06 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
python实现2014火车票查询代码分享
2014/01/10 Python
Python中zip()函数用法实例教程
2014/07/31 Python
Python中模块string.py详解
2017/03/12 Python
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
python ubplot使用方法解析
2020/01/10 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
详解python如何引用包package
2020/06/07 Python
如何通过python实现IOU计算代码实例
2020/11/02 Python
英国航空官网:British Airways
2016/09/11 全球购物
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
新学期家长寄语
2014/01/19 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
生日答谢词
2015/01/05 职场文书
教师党员个人总结
2015/02/10 职场文书
基石观后感
2015/06/12 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
各种货币符号快捷输入
2022/02/17 杂记
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL