淡水狗
2017-07-19 18:28
<h2>通过toggle切换显示与隐藏</h2>
<div class="box">显示到隐藏</div>
<button>显示/隐藏</button>
<script type="text/javascript">
$("button").click(function(){
if ( display === true ) {
$( ".box" ).show(1000);
}
else if ( display === false ) {
$( ".box" ).hide(1000);
}
})
</script>
我发现很多人都不太了解“=”,“==”,“===”这三个的区别,我就简单的说一下,
“=”是赋值的意思(x = 1,这里就是把1值赋给x),boolean值永远为真。
“==”是等于的意思(),这里boolean值也为真,因为x和y的值相等。
“===”是全等于的意思(x = 1; y = "1"; x === y),这里boolean值为假,虽然他们的值相等,但是因为x是数字类型,而y是字符串类型,所以他们是不全等于。
还有就是你上面的display都没定义是什么,老师左边的方法不是JQuery方法,是js的方法。还有这里老师说的(display===true)是告诉你这里的display的值要判断为真,不是告诉你这行代码是这么写的。
需要先获取相应元素的 display 属性哦~
.right {
background: yellow;
display:none;
}
<script type="text/javascript">
$("button:last").click(function() {
if ( $(".right").css("display")=="none") {
$( ".right" ).show();
} else{
$( ".right" ).hide();
}
});
我试了一下(===true) 不能哎。我不太清楚到底什么时候用=="和"==="
下面是网上查的,我自己看的有点乱
=== 判断规则
如果类型不同,就[不相等]
如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)
如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。
如果两个值都是true,或者都是false,那么[相等]。
如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。
如果两个值都是null,或者都是undefined,那么[相等]。
== 判断规则:
如果两个值类型相同,进行 === 比较。
如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:
如果一个是null、一个是undefined,那么[相等]。
如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。
toggle(display)里面display是一个参数,你上面代码的display指什么?你没有定义吧
所谓的直接定位就是两种情况
.toggle(true)表示.hide()
.toggle(false)表示show()
jQuery基础(四)—动画篇
85049 学习 · 262 问题
相似问题