2012-11-05 35 views
2

我想創建一個動畫來滾動頁面時,平滑點擊錨鏈接,就像jQuery.ScrollTo插件(http://demos.flesler.com/jquery/scrollTo/)做到這一點。是否存在與jQuery的scrollTo相同的YUI 2.x?

我嘗試使用YUI 2.x動畫工具,通過動畫document.activeElement.scrollTop屬性的值來製作它。它適用於只有WebKit的:'( - 對其他瀏覽器,沒有任何反應 - 即使不是一個錯誤引發

goToAnchor = function(e, id) { 
    var targetToGo = Dom.get(id), 
     scrollToTarget = new Animation(document.activeElement, 
      { 
       scrollTop: 
       { 
        from: document.activeElement.scrollTop, 
        to: targetToGo.offsetTop 
       } 
      }, 1, Easing.easeOut 
     ) 
    Event.preventDefault(e); 

    scrollToTarget.animate(); 
} 

我想知道的是,如果有一個插件,做這行YUI 2。 x或如何做一個跨瀏覽器兼容的代碼這樣做。

謝謝!

回答

2

你需要記住,取決於瀏覽器,您可能需要滾動htmlbody元素。

練習ially,你需要滾動既要確保

此外,在http://developer.yahoo.com/yui/animation/#scroll我看到

var element = document.getElementById('test'); 
var myAnim = new YAHOO.util.Scroll(element, { 
    scroll: {  
     to: [ 500, test.scrollTop ] 
    } 
}); 
myAnim.animate(); 

也許這是你在找什麼(你仍然有動畫都htmlbody

2
<script> 
(function() { 
    var scrollingBody = document.body; 
    if (YAHOO.env.ua.gecko){ 
    scrollingBody = document.documentElement; 
    } 
    (new YAHOO.util.Scroll(
    scrollingBody, 
    { 
     scroll: 
     { 
      to: [0, 50] 
     } 
    }, 
    0.7, 
    YAHOO.util.Easing.easeOut 
)).animate(); 
})(); 
</script> 
相關問題