基于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中的prototype使用说明
Apr 13 Javascript
jQuery学习基础知识小结
Nov 25 Javascript
js确定对象类型方法
Mar 30 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
Aug 22 Javascript
JS实现的网页倒计时数字时钟效果
Mar 02 Javascript
超赞的动手创建JavaScript框架的详细教程
Jun 30 Javascript
原生js实现图片轮播特效
Dec 18 Javascript
深入理解jQuery之事件移除
Jun 02 Javascript
JavaScript获取ul中li个数的方法
Feb 13 Javascript
vue2.0中goods选购栏滚动算法的实现代码
May 17 Javascript
深入浅析javascript继承体系
Oct 23 Javascript
从setTimeout看js函数执行过程
Dec 19 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
如何开发一个虚拟域名系统
2006/10/09 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
JSON 入门指南 想了解json的朋友可以看下
2009/08/26 Javascript
一个报数游戏js版(约瑟夫环问题)
2010/08/05 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
2016/07/07 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
python中__slots__用法实例
2015/06/04 Python
python保存字符串到文件的方法
2015/07/01 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
如何基于Python按行合并两个txt
2020/11/03 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
基于css3实现漂亮便签样式
2013/03/18 HTML / CSS
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
数控技术专科生自我评价
2014/01/08 职场文书
预备党员党课思想汇报
2014/01/13 职场文书
初中毕业生自我评价
2015/03/02 职场文书
行政二审代理词
2015/05/25 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
微信小程序实现聊天室功能
2021/06/14 Javascript
Win11 21h2可以升级22h2吗?看看你的电脑符不符合要求
2022/07/07 数码科技