gpt4 book ai didi

jquery - 设置 'visibility: visible' 不起作用

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

为什么我的 $('#myDiv').css('visibility', 'visible'); 不起作用?

$('#clickdiv').click(function() {
alert($('#myDiv').css('visibility'));
if ($('#myDiv').css('visibility') == 'hidden') {
$('#myDiv').css('visibility', 'visible');
}

if ($('#myDiv').css('visibility') == 'visible') {
$('#myDiv').css('visibility', 'hidden');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div id="myDiv">hide/show</div>
<div id="clickdiv">click me</div>

最佳答案

你的逻辑有问题。您有两个单独的 if 条件。当再次显示 div 时,第二个将总是触发。您需要组合到 if/else 语句:

$('#clickdiv').click(function () {
alert($('#myDiv').css('visibility'));
if ($('#myDiv').css('visibility') == 'hidden') {
$('#myDiv').css('visibility', 'visible');
}
else {
$('#myDiv').css('visibility', 'hidden');
}
});

请注意,您也可以使用三元来改进逻辑:

$('#clickdiv').click(function () {
$('#myDiv').css('visibility', function(i, v) {
return v == 'hidden' ? 'visible' : 'hidden';
});
});

Example fiddle

您甚至可以通过使用 toggle() 来缩短它,尽管这会设置 display 属性而不是 visibility,因此可能不符合您的要求正是需要。

关于jquery - 设置 'visibility: visible' 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30304784/

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