gpt4 book ai didi

javascript - 为什么 jquery 代码块中的 "return !1"会导致 url 对于链接到页面另一部分的 anchor 标记不更改?

转载 作者:太空宇宙 更新时间:2023-11-04 01:32:56 26 4
gpt4 key购买 nike

我的页面中有 html anchor 标记,可以将我带到页面的另一部分,下面的代码是控制动画和移动滚动速度的 jquery。

$("a").click(function(){
$("html, body").stop().animate({scrollTop:$($.attr(this,"href")).offset().top},750);

return !1
})

问题是“return !1”导致 url 没有改变。意思是,如果我在“localhost:8000/”,然后单击带有 href="#contact"的链接,该 url 通常会更改为“localhost:8000/#contact”。返回 !1 可防止这种情况发生,尽管在我的生活中我无法弄清楚为什么或找不到在线资源来解释它。我玩过它,我必须返回 !num,其中 num 是除 0 以外的任何数字,正数或负数。任何人都可以向我解释一下吗?我想了解为什么会发生这种情况以及 return !# 的用途。

最佳答案

当您在 jQuery 事件处理程序中返回 false (!1) 时,它会阻止默认操作完成和冒泡 DOM。

! ing 任何数字都会尝试将该数字转换为 bool 值(任何 >0 都将返回 true)并将其取消为 false。

鉴于:

0 = false

1 = true

>1 = true

<0 = true

以下是正确的:

!0 = not false = true

!1 = not true = false

!2 = not true = false

!3 = not true = false

...等等

关于javascript - 为什么 jquery 代码块中的 "return !1"会导致 url 对于链接到页面另一部分的 anchor 标记不更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46740843/

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