基于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="images/scroll-pic.jpg"></a></li>
            <li><a href="#"><img src="images/scroll-pic2.jpg"></a></li>
            <li><a href="#"><img src="images/scroll-pic3.jpg"></a></li>
            <li><a href="#"><img src="images/scroll-pic4.jpg"></a></li>
            <li><a href="#"><img src="images/scroll-pic.jpg"></a></li>
            <li><a href="#"><img src="images/scroll-pic2.jpg"></a></li>
            <li><a href="#"><img src="images/scroll-pic4.jpg"></a></li>
            <li><a href="#"><img src="images/scroll-pic.jpg"></a></li>
            <li><a href="#"><img src="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:100;
    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
});
时间: 2024-10-01 10:55:54

基于jquery的水平滚轴组件,多参数可设置。的相关文章

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

最近闲来无事,多封装些功能性组件.后期会有更多放出来,大家可以多关注一下. 先上参数: type:"show",           默认为“show”,“show”意为当能够在可视区看到指定位置的节点时触发,“scroll”意为浏览器滚动过指定结点时触发.            pos:"#scrollBox",       默认为"#scrollBox",通过此结点获取指定位置.            delayDistance:0,    

jquery ui时间滚轴

<style> .ui-slider{width:210px;background:#ddd;border:0;border-bottom:1px solid #fff;border-top:1px solid #adadad;border-radius:5px;box-shadow:inset 0 1px 2px #adadad;height:10px;margin:5px}.ui-slider .ui-slider-handle{background-color:#98aec3;backg

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

这是一款非常炫酷的jQuery焦点图插件,这款jQuery焦点图的特点是有一个时间轴,点击切换按钮时,时间轴会逐渐移动,时间轴上的图片也会逐渐切换.另外,在图片上方也可以放置自定义样式的文字. 在线预览   源码下载 实现的代码. html代码: <div class="main_w"> <div class="index_zzw" id="index_zzw"> <div class="index_zzw

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

根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据jQuery研发出来的产品,现在也很常见了. 国产jQuery UI框架 (jUI) DWZ DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.设计目标是简单实用,快速开发,降低ajax开发成本. jQuery 部件布局

基于jQuery的TreeGrid组件详解

一.TreeGrid组件相关的类 1.TreeGrid(_config) _config:json格式的数据,组件所需要的数据都通过该参数提供. 2.TreeGridItem(_root, _rowId, _rowIndex, _rowData) _root:显示组件实例的目标容器对象. _rowId:选中行的id. _rowIndex:选中行的索引. _rowData:json格式的行数据. 二._config参数详解 id:组件实例的id. width:组件实例的宽度. renderTo:用

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

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

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

1.jQuery时间轴插件:jQuery Timelinr 这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程.大事件等场景.该插件基于jQuery,可以滑动切换.水平和垂直滚动.支持键盘方向键.经过扩展后可以支持鼠标滚轮事件. 在线演示一 在线演示二 在线演示三 源码下载 2.使用Ctrl+Enter提交表单 我们发表微博或论坛发帖时,在内容输入框中输入完内容后,可以点击 提交 按钮来发表内容.可是,如果你够 懒 ,你可以不用动鼠标,只需按住键盘上的Ctrl+Enter

基于Jquery 的 Chart

 Flot Flot一个纯javascript绘画库,基于jQuery开发.它能够在客户端根据任何数据集快速生成图片.目前只能绘制线状图和柱状. Flot  jQuery  jQchart 基于Canvas+jQuery,可拖放/交互的简单图形控件. jQchart  jQuery  Open Flash Chart Open Flash Chart是一个开源的Flash制图组件. Open Flash Chart  Plotkit PlotKit是一个纯javascript绘图工具包.它支持H

基于jquery的ajax分页插件(demo+源码)

前几天打开自己的博客园主页,无意间发现自己的园龄竟然有4年之久了.可是看自己的博客列表却是空空如也,其实之前也有写过,但是一直没发布(然而好像并没有什么卵用).刚开始学习编程时就接触到博客园,且在博客园学习了很多的知识,看过很多人的分享.说来也惭愧,自己没能为园友们分享自己的所学所得(毕竟水平比较差). 过去的一年也是辗转了几个城市换了几份工作(注定本命年不太平?).八月份来到现在所在的公司(OTA行业),公司是做互联网的,所以可能大家的前端都屌屌的?之前一直从事.NET开发(现在在这边也是),