gpt4 book ai didi

javascript - jQuery hashchange 事件立即无速度执行动画

转载 作者:行者123 更新时间:2023-12-02 15:44:57 25 4
gpt4 key购买 nike

我在使用 jQuery 和将动画包装在 hashchange 事件中时遇到问题。当事件被触发时,动画立即发生。我需要它是光滑的。

    jQuery( document ).ready(function() {
jQuery(window).on('hashchange', function() {
jQuery('body').animate({ scrollTop: jQuery(window.location.hash).offset().top}, 'slow');
});
});

如果我不将动画包装在 hashchange 事件中,一切都很好...

最佳答案

如果您将哈希更改为存在的 anchor ,它将自动跳转到该 anchor ,而无需等待动画。您可以看到,只需删除动画就会发生这种情况,因为它仍然会跳跃。可以通过在 URL 中使用实际上不包含具有相应 id 的元素的哈希来解决此问题,并更改选择器 scrollTop 来适应此问题。

例如,您可以将“about”部分的 ID 更改为 about-section 并继续使用 #about 作为哈希。然后,您可以使用 scrollTop: jQuery(window.location.hash + "-section"),而不是 scrollTop: jQuery(window.location.hash).offset().top。 offset().top 以避免自动跳转到该元素。

关于javascript - jQuery hashchange 事件立即无速度执行动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32278063/

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