基于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 相关文章推荐
jquery中ajax学习笔记3
Oct 16 Javascript
js设置function参数默认值(适合没有传参情况)
Feb 24 Javascript
Node.js实现的简易网页抓取功能示例
Dec 05 Javascript
EasyUI实现二级页面的内容勾选的方法
Mar 01 Javascript
简介JavaScript中fixed()方法的使用
Jun 08 Javascript
jquery中toggle函数交替使用问题
Jun 22 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
Feb 22 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
Sep 05 jQuery
Laravel整合Bootstrap 4的完整方案(推荐)
Jan 25 Javascript
JavaScript中concat复制数组方法浅析
Jan 20 Javascript
JavaScript作用域链实例详解
Jan 21 Javascript
Vue动态创建注册component的实例代码
Jun 14 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音乐采集(部分代码)
2007/02/14 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
2016/12/21 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
2019/08/06 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
最新英语专业学生求职信范文
2013/09/21 职场文书
中英文自我评价常用句型
2013/12/19 职场文书
大学毕业生求职自荐信
2014/02/20 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
环保建议书作文300字
2015/09/14 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python