我想创建一个动画来在单击锚链接时平滑地滚动页面,就像jQuery.ScrollTo插件(http://demos.flesler.com/jquery/scrollTo/)一样。

我尝试使用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执行此操作,或者如何执行与跨浏览器兼容的代码来执行此操作。

谢谢!

最佳答案

您需要记住,根据浏览器的不同,可能需要滚动htmlbody元素。

(实际上,您需要同时滚动两者以确保)

我也在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设置动画)

关于javascript - 是否有一个等效于jQuery scrollTo的YUI 2.x?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13232780/

10-13 01:55