基于jquery的水平滚轴组件,多参数可设置。
闲来无事,继续封装。此次封装的为水平滚轴组件,可选择滚动的距离大小。闲话不多说,直接上图。

参数说明:
vis:4 中间区域可显示的 li 个数
scroll:4 每次滚过的li个数,若大于vis,则取 scroll%vis的余数
wrap:".scroll-main ul" 中间区域的包裹层选择器
item:".scroll-main ul li", 中间区域每个li的选择器
btnPre:".pre-scroll" 左滚按钮的选择器
btnNext:".next-scroll" 右滚按钮的选择器
html如下:
<div class="scroll-banner">
<span class="pre-scroll iconfont"></span>
<span class="next-scroll iconfont"></span>
<div class="scroll-main">
<ul>
<li><a href="#"><img src="data:images/scroll-pic.jpg"></a></li>
<li><a href="#"><img src="data:images/scroll-pic2.jpg"></a></li>
<li><a href="#"><img src="data:images/scroll-pic3.jpg"></a></li>
<li><a href="#"><img src="data:images/scroll-pic4.jpg"></a></li>
<li><a href="#"><img src="data:images/scroll-pic.jpg"></a></li>
<li><a href="#"><img src="data:images/scroll-pic2.jpg"></a></li>
<li><a href="#"><img src="data:images/scroll-pic4.jpg"></a></li>
<li><a href="#"><img src="data:images/scroll-pic.jpg"></a></li>
<li><a href="#"><img src="data:images/scroll-pic2.jpg"></a></li>
</ul>
</div>
</div>
css如下:
.scroll-banner{
position:relative;
}
.scroll-main{
width:560px;
margin:0 auto;
overflow:hidden;
}
.scroll-main ul{
overflow:hidden;
position:relative;
left:0px;
}
.scroll-main ul li{
float:left;
width:140px;
height:120px;
padding:0 10px;
}
.scroll-main ul li img{
width:100%;
height:100%;
}
.pre-scroll,
.next-scroll
{
position: absolute;
top:35px;
color:#fff;
z-index:;
cursor:pointer;
font-size:40px;
}
.pre-scroll{
left:10px;
}
.next-scroll{
right:10px;
}
js如下:
function scrollBanner(obj){
this.set={
vis:4,
scroll:4,
wrap:".scroll-main ul",
item:".scroll-main ul li",
btnPre:".pre-scroll",
btnNext:".next-scroll"
}
var _this=this;
$.extend(this.set,obj)
this.set.scroll=this.set.scroll>this.set.vis?this.set.scroll%this.set.vis:this.set.scroll;
var itemNum=$(_this.set.item).length;
var itemW=$(_this.set.item).outerWidth();
$(_this.set.wrap).css({"width":itemNum*itemW+"px"})
$(_this.set.btnPre).eq(0).click(function(){
var nowL=parseInt($(_this.set.wrap).eq(0).css("left"))
if(nowL>=0){
$(_this.set.wrap+":not(:animated)").eq(0).animate({"left":-(itemNum-_this.set.vis)*itemW+"px"})
}else{
$(_this.set.wrap+":not(:animated)").eq(0).animate({"left":nowL+_this.set.scroll*itemW+"px"})
}
})
$(_this.set.btnNext).eq(0).click(function(){
var nowL=parseInt($(_this.set.wrap).eq(0).css("left"))
if(nowL<=-(itemNum-_this.set.vis)*itemW){
$(_this.set.wrap+":not(:animated)").eq(0).animate({"left":"0px"})
}else{
$(_this.set.wrap+":not(:animated)").eq(0).animate({"left":nowL-_this.set.scroll*itemW+"px"})
}
})
}
//调用
new scrollBanner({
scroll:2
});
基于jquery的水平滚轴组件,多参数可设置。的更多相关文章
- 基于jquery的垂直滚动触发器,多参数可设置。
最近闲来无事,多封装些功能性组件.后期会有更多放出来,大家可以多关注一下. 先上参数: type:"show", 默认为“show”,“show”意为当能够在可 ...
- 基于jQuery发展历程时间轴特效代码
分享一款基于jQuery发展历程时间轴特效代码,带左右箭头,数字时间轴选项卡切换特效下载.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div id="time ...
- 基于jQuery的美食时间轴焦点图插件
这是一款非常炫酷的jQuery焦点图插件,这款jQuery焦点图的特点是有一个时间轴,点击切换按钮时,时间轴会逐渐移动,时间轴上的图片也会逐渐切换.另外,在图片上方也可以放置自定义样式的文字. 在线预 ...
- 基于jquery开发的UI框架整理分析
根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据j ...
- 基于jQuery封装的分页组件
前言: 由于项目需要实现分页效果,上jQuery插件库找了下,但是木有找到自己想要的效果,于是自己封装了个分页组件. 思路: 主要是初始化时基于原型建立的分页模板然后绑定动态事件并实现刷新DOM的分页 ...
- 基于jquery带时间轴的图片轮播切换代码
基于jquery图片标题随小圆点放大切换.这是是一款带时间轴的图片轮播切换代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div id="decoroll2 ...
- 基于jQuery封装的分页组件(可自定义设置)
jQuery封装的分页组件 前几天做了一个vue的组件分页,而现在需求是jquery的分页,我就根据我自己的需求写了一个.在网上找了很久的基于jquery的分页封装,可是都不是我想要的结果,那么今天我 ...
- jquery 滚轴滚动 导航定位和锚点定位
自己写的,只测试了ie9+, firefox,chrome 以下js更好 var fixbar={ init:function(){ "use strict"; // 滚轴 导航位 ...
- 10款基于jquery的web前端特效及源码下载
1.jQuery时间轴插件:jQuery Timelinr 这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程.大事件等场景.该插件基于jQuery,可以滑动切换.水平和垂直滚 ...
随机推荐
- 让外部网络访问K8S service的四种方式
本文基于kubernetes 1.5.2版本编写 kube-proxy+ClusterIP kubernetes版本大于或者等于1.2时,配置: 修改master的/etc/kubernetes/pr ...
- 使用Arraylist将数组中元素随机均等乱序分为N个子数组
使用Arraylist将数组中元素随机均等乱序分为N个子数组 觉得有用的话,欢迎一起讨论相互学习~Follow Me 为了将数组中的元素 随机地 ,均等地, 不重复地 ,划分到N个子数组中 使用Arr ...
- linux常用端口查询
0 | 无效端口,通常用于分析操作系统1 | 传输控制协议端口服务多路开关选择器2 | 管理实用程序3 | 压缩进程5 | 远程作业登录7 | 回显9 | 丢弃11 | 在线用户13 | 时间17 | ...
- Hive SQL 编译过程
转自:http://www.open-open.com/lib/view/open1400644430159.html Hive跟Impala貌似都是公司或者研究所常用的系统,前者更稳定点,实现方式是 ...
- Spring Boot 1.4 单元测试
在1.3中单元测试这样子的类似代码: // SpringJUnit支持,由此引入Spring-Test框架支持! @RunWith(SpringJUnit4ClassRunner.class) // ...
- python解析minicap
上篇知道了minicap发送图片的格式,照着官网的app.js代码,改用一个python版的来解析它,适当扩展,可以做个小工具实时显示手机屏幕. 步骤: 一.手机开启minicap服务 adb she ...
- android getWidth()和getMeasuredWidth()方法的区别
getWidth() Return the width of the your view. Returns The width of your view, in pixels. 源代码: public ...
- 【CTF WEB】服务端请求伪造
服务端请求伪造 如你所愿,这次可以读取所有的图片,但是域名必须是www开头 测试方法 POST /index.php HTTP/1.1 Host: 218.2.197.236:27375 Conten ...
- Linux的软中断处理实现 【转】
转自:http://blog.chinaunix.net/uid-25909619-id-3070190.html 一.概念 首先我们要知道为什么中断需要下半部 .我们可以想象一下,如果没有下半部 ...
- Bogus URL svn: is not properly URI-encoded
问题描述: 从浏览器地址栏复制出来的url 放到eclipse 的svn插件里,新建资源库位置 总是报错 Bogus URL svn: ********************** is not ...