JS 帮助 mouseup 和 down

发布于 2025-01-10 16:25:47 字数 501 浏览 0 评论 0原文

我需要什么:

如何用按键来完成就可以,但用鼠标更好。我需要网站在鼠标或按键按下时自行滚动,一旦发布,网站就会回到顶部。但如果到达最后部分,按下键/鼠标将不再起作用。

我所拥有的:

所以该网站正在使用 gsap 和scrolltriggers。我有可触摸的不透明度:

HTML:

<a href="#top" class="touchableOpacity" id="TO"></a>

JS:

$("a[href='#top']").mouseup(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});

tls8In
.to("#TO",{top: -2000, duration:0.1})

鼠标向上时它会到达顶部,并且当输入最后一部分时它会从视口中删除。 '''

What I need:

How to do it with a key is fine, but with mouse is preferable. I need the website to scroll through itself while the mouse or key is down, and once released the site goes all they way back to the top. but if it reaches the Final section, the key/mouse down will no longer work.

What I have:

So the site is using gsap and scrolltriggers. I have touchable opacity :

HTML:

<a href="#top" class="touchableOpacity" id="TO"></a>

JS:

$("a[href='#top']").mouseup(function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});

tls8In
.to("#TO",{top: -2000, duration:0.1})

It takes to top on mouse up and it is removed from viewport when the final section is entered.
'''

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空气里的味道 2025-01-17 16:25:47

嗨!尝试上面的代码。此代码添加了将 html 标签滚动到元素的功能,该 id 在 href 属性中设置。

$('a[href*=#]:not([href=#])').click(function () {
  if (location.pathname.replace(/^\//, '') === this.pathname.replace(/^\//, '') && location.hostname === this.hostname) {
    let target = $(this.hash);

    target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');

    if (target.length) {
      $('html,body').animate({ // which elements should be scrolled
        scrollTop: target.offset().top
      }, 1000); // animation time
      return false;
    }
  }
});

Hi! Try this code above. This code adds functionality to scroll html tag to element, which id is set in href attribute.

$('a[href*=#]:not([href=#])').click(function () {
  if (location.pathname.replace(/^\//, '') === this.pathname.replace(/^\//, '') && location.hostname === this.hostname) {
    let target = $(this.hash);

    target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');

    if (target.length) {
      $('html,body').animate({ // which elements should be scrolled
        scrollTop: target.offset().top
      }, 1000); // animation time
      return false;
    }
  }
});

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文