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

参数说明:

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的水平滚轴组件,多参数可设置。的更多相关文章

  1. 基于jquery的垂直滚动触发器,多参数可设置。

    最近闲来无事,多封装些功能性组件.后期会有更多放出来,大家可以多关注一下. 先上参数: type:"show",           默认为“show”,“show”意为当能够在可 ...

  2. 基于jQuery发展历程时间轴特效代码

    分享一款基于jQuery发展历程时间轴特效代码,带左右箭头,数字时间轴选项卡切换特效下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="time ...

  3. 基于jQuery的美食时间轴焦点图插件

    这是一款非常炫酷的jQuery焦点图插件,这款jQuery焦点图的特点是有一个时间轴,点击切换按钮时,时间轴会逐渐移动,时间轴上的图片也会逐渐切换.另外,在图片上方也可以放置自定义样式的文字. 在线预 ...

  4. 基于jquery开发的UI框架整理分析

    根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据j ...

  5. 基于jQuery封装的分页组件

    前言: 由于项目需要实现分页效果,上jQuery插件库找了下,但是木有找到自己想要的效果,于是自己封装了个分页组件. 思路: 主要是初始化时基于原型建立的分页模板然后绑定动态事件并实现刷新DOM的分页 ...

  6. 基于jquery带时间轴的图片轮播切换代码

    基于jquery图片标题随小圆点放大切换.这是是一款带时间轴的图片轮播切换代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="decoroll2 ...

  7. 基于jQuery封装的分页组件(可自定义设置)

    jQuery封装的分页组件 前几天做了一个vue的组件分页,而现在需求是jquery的分页,我就根据我自己的需求写了一个.在网上找了很久的基于jquery的分页封装,可是都不是我想要的结果,那么今天我 ...

  8. jquery 滚轴滚动 导航定位和锚点定位

    自己写的,只测试了ie9+, firefox,chrome 以下js更好 var fixbar={ init:function(){ "use strict"; // 滚轴 导航位 ...

  9. 10款基于jquery的web前端特效及源码下载

    1.jQuery时间轴插件:jQuery Timelinr 这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程.大事件等场景.该插件基于jQuery,可以滑动切换.水平和垂直滚 ...

随机推荐

  1. 洛谷P2672 推销员

    沙雕贪心...... 我一开始想的是倒着来,每次减去一个. 然后我们就有两个决策:去掉最后一个/去掉前面某一个. 然后第一个决策用并查集维护,第二个决策用线段树即可.仔细想想觉得普及组不会考这种东西, ...

  2. ctrl+E 快速显示当前打开的编辑列表

    ctrl+E 快速显示当前打开的编辑列表

  3. UiAutomator2.0入门

    总是听说UiAutomator这个框架,但从来没有使用过.找了篇入门,实践一下.实践之后感觉,uiautomator写测试代码,还是有点费劲.接口名比较多,比较长.网易的atx里使用的uiautoma ...

  4. linux c 编程 ------ 串口编程

    http://blog.csdn.net/specialshoot/article/details/50707965 对于串口的打开操作,必须使用O_NOCTTY参数.O_NOCTTY如果路径名指向终 ...

  5. 如何把你的eclipse编辑器修改成黑色的主题

  6. Java环境变量自动配置。嗯,就是用C#去配置JDK

    在跟学弟们聊天的过程中,发现一些人在首次接触Java时,对环境变量配置总是很生疏.可能是由于初学,对一些概念没有很深刻的理解.本着助人为乐的精神.我决定帮他们一下.写一个自动配置JDK环境变量的小工具 ...

  7. JAVA-Servlet内容

    Servlet重定向 HttpServletResponse接口的sendRedirect()方法可以用于将响应重定向到另一个资源,资源可能是servlet,jsp或html文件. 它接受相对和绝对U ...

  8. bzoj千题计划221:bzoj1500: [NOI2005]维修数列(fhq treap)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1500 1.覆盖标记用INF表示无覆盖标记,要求可能用0覆盖 2.代表空节点的0号节点和首尾的两个虚拟 ...

  9. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第一部分(Page 6)

    编写你的第一个 Django app,第一部分(Page 6)转载请注明链接地址 Django 2.0.1 官方文档翻译: Django 2.0.1.dev20171223092829 documen ...

  10. 【转】详解linux vi命令用法

    功能最强在的编辑器--vi vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件.当然,对UNIX系统略有所知的人, 或多或少都觉得vi超级难用,但vi是最基本的编辑器 ...