我的页面中有 html 锚标记,它们只是将我带到页面的另一部分,下面的代码是控制动画和移动滚动速度的 jquery。
$("a").click(function(){
$("html, body").stop().animate({scrollTop:$($.attr(this,"href")).offset().top},750);
return !1
})
问题是“返回!1”导致 url 不改变。意思是,如果我在“localhost:8000/”,并且我单击带有 href="#contact" 的链接,则 url 通常会更改为“localhost:8000/#contact”。返回 !1 可以防止这种情况发生,尽管在我的一生中,我无法弄清楚原因或找到一个在线资源来解释它。我玩弄了它,我必须返回 !num,其中 num 是 0 以外的任何数字,正数或负数。谁能向我解释一下?我想了解为什么会发生这种情况以及 return !# 用于什么。
当您在 jQuery 事件处理程序中返回 false (!1) 时,它会阻止默认操作完成和冒泡 DOM。
并且!
ing 任何数字将尝试将该数字转换为布尔值(任何 >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
...等等
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句