zoukankan      html  css  js  c++  java
  • 基于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">&#xe602;</span>
        <span class="next-scroll iconfont">&#xe601;</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
    });
  • 相关阅读:
    thinkphp 防止sql注入
    Thinkphp模板怎么使用自定义函数
    Jquery 获取文件内容
    php,Allowed memory size of 8388608 bytes exhausted (tried to allocate 1298358 bytes)
    thinkphp 定位查询 Model:last您所请求的方法不存在!
    if condition volist
    thinkPHP 无法create,无法插入数据,提示非法数据对象
    eclipse 最有用的10个快捷键
    button 禁止
    thinkphp显示重复两次
  • 原文地址:https://www.cnblogs.com/pomelott/p/7482421.html
Copyright © 2011-2022 走看看