• 横向滚动插件


    (function ( $ ) {
        
        $.fn.ilscroll=function(options){
            var settings = $.extend({
          s:45
        }, options );
            $this=this;
            $children=this.children();
            $parent=this.parent();
            $count=$children.size();
            $margin=parseInt($children.css('margin-left'))+parseInt($children.css('margin-right'));
    
    $childrenwidth=$children.width()+$margin;
    $parentwidth=$parent.width();
    $width=($count*$childrenwidth);
            if($width<$parentwidth){
                return false;
            }
             $clone= $children.clone();
             this.prepend($clone);
            this.width($width*2);
        $inter=    setInterval(function(){
                $marginleft=$this.css('margin-left');
                
      $marginleft=             parseInt($marginleft);
     $childh=   parseInt($this.children().width());
      if(Math.abs($marginleft)>=$width){
          $this.css('margin-left',"0px");
      
      }else{
                $this.css('margin-left',$marginleft-1+"px");
            }
            },settings.s);
                
            this.on('mouseover',function(){
                clearInterval($inter);
            });
            this.on('mouseout',function(){
            $inter=setInterval(function(){
                $marginleft=$this.css('margin-left');
                
      $marginleft=             parseInt($marginleft);
     $childh=   parseInt($this.children().width());
      if(Math.abs($marginleft)==$width){
          $this.css('margin-left',"0px");
      
      }else{
                $this.css('margin-left',$marginleft-1+"px");
            }
            },settings.s);
            });
            
        };
        
        }( jQuery ));

     当子元素不比父元素宽时,不会发生滚动。

    使用

    $('.foo').ilscroll()

    一个参数s用于控制速度.

    修改用于应对margin-auto

    (function ( $ ) {
    	
    	$.fn.ilscroll=function(options){
    		var settings = $.extend({
          s:45
        }, options );
    		$this=this;
    		$children=this.children();
    		$parent=this.parent();
    		$count=$children.size();
    		$marginleft=$children.css('margin-left')=='auto'?0:parseInt($children.css('margin-left'));
    		if($children.css){
    			
    		}
    		$children.css('margin-left','0px');
    		$children.css('margin-right','0px');
    		$margin=parseInt($children.css('margin-left'))+parseInt($children.css('margin-right'));
    
    $childrenwidth=parseInt($children.width())+$margin;
    $parentwidth=parseInt($parent.width());
    $width=($count*$childrenwidth);
    		if($width<$parentwidth){
    			return ;
    		}else{
    		
    		 $clone= $children.clone();
    		 this.prepend($clone);
    		this.width($width*2);
    		}
    	$inter=	setInterval(function(){
    			$marginleft=$this.css('margin-left');
    		if($marginleft==='auto'){
    			$marginleft=0;
    		}else{
    			 $marginleft=parseInt($marginleft);
    		}
    		
     
     
     $childh=   parseInt($this.children().width());
      if(Math.abs($marginleft)>=$width){
      	$this.css('margin-left',"0px");
      
      }else{
      	
    			$this.css('margin-left',(($marginleft)-1)+"px");
    		}
    		},settings.s);
    			
    		this.on('mouseover',function(){
    			clearInterval($inter);
    		});
    		this.on('mouseout',function(){
    		$inter=setInterval(function(){
    			$marginleft=$this.css('margin-left');
    			
      $marginleft=			 parseInt($marginleft);
     $childh=   parseInt($this.children().width());
      if(Math.abs($marginleft)==$width){
      	$this.css('margin-left',"0px");
      
      }else{
    			$this.css('margin-left',$marginleft-1+"px");
    		}
    		},settings.s);
    		});
    		
    	};
    	
    	}( jQuery ));
    
  • 相关阅读:
    ARM里面的APB和AHB
    解决win10点击开始按钮无反应
    keil的51和ARM共存方法
    对于一个液晶而言什么是读状态、读数据、写指令、写数据
    关于VMware中Ubuntu 出现Unknown Display问题解决
    论基于SOA的面向服务架构设计及其应用
    科技小论文2
    软件体系架构的质量属性--论文
    一线架构师实践指南阅读笔记03
    一线架构师阅读指南-阅读感想02
  • 原文地址:https://www.cnblogs.com/zuoxiaobing/p/3623095.html
Copyright © 2020-2023  润新知