gpt4 book ai didi

javascript - Google Closure 相当于 jQuery $ ('html,body' ).animate({scrollTop : 800});

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:24:39 25 4
gpt4 key购买 nike

有问题的代码将页面滚动到页面上的特定点。正如标题所说,我希望 Google Closure 等同于以下 jQuery:

$('html,body').animate({scrollTop: 800});

它说 here html, body 允许浏览器不一致,而 $(document) 是等效的。

我尝试了以下方法:

var anim = new goog.fx.dom.Scroll(document, [0, 0], [0, 800], 400);
anim.play();

我也尝试过使用 document.body

网络上没有关于 goog.fx.dom.Scroll 的演示,而且信息匮乏。

最佳答案

使这个 goog.fx.Scroll 类与文档(正文或 HTML)一起工作的方法是以这种方式传递文档滚动元素:

/**
* Document scroll element obtained from goog.dom
* @type {Element}
* @private
*/
let documentScrollElement_ = goog.dom.getDocumentScrollElement()

/**
* Function triggered by any target to start scrolling
* @param {Event} e Triggered event
* @private
*/
function scrollTrigger_(e) {
let googScroll = new goog.fx.dom.Scroll(
this.documentScrollElement_,
[0, 0],
[0, 800],
400);

googScroll.play();
}

只是让您知道 Scroll 类有这个可选参数来为滚动添加缓动。你应该像这样新建类(class):

let googScroll = new goog.fx.dom.Scroll(
this.documentScrollElement_,
[0, 0],
[0, 800],
400,
goog.fx.easing.inAndOut(t)); // Note that you need to import or require the goog.fx.easing object

我知道这是一个老问题,但我遇到了同样的问题并设法让它工作,所以我认为回答这个问题是值得的。

希望对您有所帮助!

关于javascript - Google Closure 相当于 jQuery $ ('html,body' ).animate({scrollTop : 800});,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22873146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com