>웹 프론트엔드 >JS 튜토리얼 >form_javascript 기술로 슬라이드되는 작은 플러그인 고정 소스 코드

form_javascript 기술로 슬라이드되는 작은 플러그인 고정 소스 코드

WBOY
WBOY원래의
2016-05-16 17:31:49973검색

复主代码 代码如下:

     $.fn.stickyfloat = 기능(옵션, lockBottom) {
               var $obj                = this;
               var parentPaddingTop     = parseInt($obj.parent().css('padding-top'));
              var startOffset         = $obj.parent().offset( ).top;
                var opts                 = $.extend({ startOffset: startOffset, offsetY: parentPaddingTop, Duration: 200, lockBottom:true }, options);

               $obj.css( { 위치: ' 절대' });

                if(opts.lockBottom){
                 var BottomPos = $obj.parent().height() - $obj.height() parentPaddingTop;
                   if( BottomPos < ; 0 )
                      BottomPos = 0;
              }

               $(window).scroll(function () {
                    $obj.stop();

                   var 과거StartOffset            = $(document).scrollTop() > opts.startOffset;  
                   var objFartherThanTopPos    = $obj.offset().top > startOffset;  
                   var objBiggerThanWindow     = $obj.outerHeight() < $(창).높이();  

                   if( (pastStartOffset || objFartherThanTopPos) && objBiggerThanWindow ){
                      var newpos = ($(document).scrollTop() -startOffset opts.offsetY );
                       if ( newpos > BottomPos )
newpos = BottomPos;
                      if ( $(document).scrollTop() < opts.startOffset )
                        newpos = parentPaddingTop;
                        $obj.animate({ top: newpos }, opts.duration );
                   }
               });
           };

使사용 방법很简单:只要재页면중引入该插件,然后用选择器调用:

复代码 代码如下:

$('#menu15').stickyfloat({ 기간: 500 });
$('#menu14').stickyfloat({ 기간: 500 });
$('# menu13').stickyfloat({ 지속 시간: 500 });
$('#menu12').stickyfloat({ 지속 시간: 500 });

다음 지속 시간 매개변수는 슬라이딩 속도를 나타냅니다. , 크기가 클수록 속도가 느려집니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.