基于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对象数组的OrderByAsc和OrderByDesc方法实现思路
May 17 Javascript
jquery sortable的拖动方法示例详解
Jan 16 Javascript
Javascript实现获取窗口的大小和位置代码分享
Dec 04 Javascript
使用AngularJS处理单选框和复选框的简单方法
Jun 19 Javascript
javascript删除数组重复元素的方法汇总
Jun 24 Javascript
Javascript模仿淘宝信用评价实例(附源码)
Nov 26 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
js实现将json数组显示前台table中
Jan 10 Javascript
微信小程序之picker日期和时间选择器
Feb 09 Javascript
纯js封装的ajax功能函数与用法示例
May 14 Javascript
angular1.x ui-route传参的三种写法小结
Aug 31 Javascript
微信小程序使用map组件实现路线规划功能示例
Jan 22 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与XML的PDF文档生成技术
2006/10/09 PHP
10个可以简化php开发过程的MySQL工具
2010/04/11 PHP
php在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
php递归函数怎么用才有效
2018/02/24 PHP
一些不错的js函数ajax
2008/08/20 Javascript
javascript 新浪背投广告实现代码
2009/07/07 Javascript
JavaScript基础知识之数据类型
2012/08/06 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
2015/04/02 Javascript
javascript中使用new与不使用实例化对象的区别
2015/06/22 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
JavaScript学习笔记整理_setTimeout的应用
2016/09/19 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
使用clipboard.js实现复制功能的示例代码
2017/10/16 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
django model去掉unique_together报错的解决方案
2016/10/18 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Python的语言类型(详解)
2017/06/24 Python
matplotlib.pyplot画图并导出保存的实例
2019/12/07 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
武汉东之林科技有限公司机试
2013/09/17 面试题
环保建议书300字
2014/05/14 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
python实现简单聊天功能
2021/07/07 Python
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript