我有一个使用toggle()
功能切换的div列表。切换时,用于切换div的按钮会将文本从“ +”更改为“-”。但是,当我单击到下一个按钮div或上一个按钮div时,较旧的按钮没有用“-”更改文本(因为已关闭,因此应将文本更改为“-”。因此我想更改如果div关闭,则按钮的文本显示为“-”。
$(".p1").hide();
$(".p1-venue").hide();
$(".p1-img").hide();
$(".btn1").click(function() {
if ($.trim($(this).text()) === '+') {
$(this).text('-');
} else {
$(this).text('+');
}
var $p1 = $(this).next(".p1").toggle();
var $p1venue = $(this).parents().next(".p1-venue").toggle();
var $p1img = $(this).parent().parent().parent().parent().find(".p1-img").toggle();
$(".p1").not($p1).hide();
$(".p1-venue").not($p1venue).hide();
$(".p1-img").not($p1img).hide();
});
答案 0 :(得分:0)
像下面一样使用.is(":visible")
。
window.setInterval(() => {
$(".myDiv").toggle();
}, 1000);
window.setInterval(() => {
if ($(".myDiv").is(":visible")) {
$(".text").html("Visible");
}
else {
$(".text").html("Hidden");
}
}, 1000);
.myDiv {
width: 100px;
height: 100px;
background-color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="text">Visible</p>
<div class="myDiv"></div>