2012-06-22 5 views
0

나는 이것이 나를 위해 일하는 이유를 모른다. 어쩌면 jQuery 전문가 중 하나가 저를 도와 줄 수 있습니다!jQuery Easing Plugin이 완화되지 않습니까?

아래 스크립트를 통해 나는 5 개의 UL 블록에 앵커 (#web)를 사용하고 싶다는 것을 알 수 있습니다. 메뉴 항목을 클릭하면 활성화 할 알림이 표시되므로 해당 부분이 올바른 것 같습니다.

$(function() { 
$('ul.five a').bind('click',function(event){ 
    var $anchor = $(this); 
    alert('hellooo') 
    $('html, body, section').stop().animate({ 
     scrollTop: $($anchor.attr('href')).offset().top 
    }, 500,'easeInOutExpo'); 

    event.preventDefault(); 
}); 

});

이것이 도움이 될 경우를 대비해 내 섹션 중 하나가 어떻게 생겼습니까?

<section class="row divider-down" id="section1"> 
<header> 
    <h1><img src="image/image1.png" alt="Alt"></h1> 
    <p>some text</p> 
</header> 

사람은 여기에 분명히 잘못 아무것도 볼 수 있습니까? 내가 말했던 것처럼 경고는 갑자기 나타난다. 그러나 그것은 섹션에 이르기까지 "용이 해지지 않는다"?

+1

그냥 명확히하기 위해 클릭 한 '앵커'와 관련된 '섹션'으로 페이지를 스크롤하려고합니다. 앵커에 대한 html을 제공해 주시겠습니까? – lbstr

+0

솔직히 말해서 나는 선을 복사했다 scrollTop : $ ($ anchor.attr ('href')). offset(). 위로 예를 통해 나는 다음과 같이 페이지를 아래로 스크롤하려하고있다. 이미지 섹션을 사이트 섹션에 표시합니다 ...

  • TravisT6983

    답변

    2

    당신이 가까이 있다고 생각합니다. 두 가지 : 당신이 jQuery를 UI 포함하지 않는 한 당신은 'easeInOutExpo'를 사용할 수 없습니다 당신이 $('body')

  • 에 애니메이션을 적용하는

    1. 변경 (아래 편집 참조).

    이 시도 :

    $(function() { 
        $('ul.five a').bind('click',function(event){ 
         var $anchor = $(this); 
         var $section = $($anchor.attr('href')); 
         if (!$section.length) { return; } // bail if there is no section 
    
         $('body').stop().animate({ // only scroll the body 
          scrollTop: $section.offset().top 
         }, 500); // must remove 'easeInOutExpo' or include jQuery UI 
    
         event.preventDefault(); 
        }); 
    }); 
    

    EDIT : JQuery와 DOCS FROM :

    )이

    .animate의 나머지 파라미터 (이징은 문자열 이름이며 이완 기능을 으로 사용하십시오. 이징 함수는 애니메이션이 진행되는 속도를 애니메이션 내의 다른 점 에서 지정합니다. jQuery 라이브러리의 유일한 여유 구현은 스윙이라고하는 기본값이며 선형이라고하는 일정한 페이스 인 에서 진행되는 것입니다. 더 많은 여유 함수는 플러그인, 특히 jQuery UI 제품군을 사용할 때 사용할 수 있습니다.

    따라서 페이지에 jQuery UI가 추가되어 있지 않으면 'easeInOutExpo'를 사용할 수 없습니다.

  • 관련 문제