gpt4 book ai didi

javascript - 使用切换状态切换按钮文本

转载 作者:行者123 更新时间:2023-11-28 17:50:19 29 4
gpt4 key购买 nike

单击按钮时,该按钮应更改其文本。按钮本身会切换另一个元素。

function switchBtnText(btn, contentElement, contentText) {
var stateText = contentElement.is(":hidden") ? "hide" : "show";
contentText += " <b>" + stateText + "</b>";
$(btn).html(contentText);
}

function toggleOne() {
$("#p1").slideToggle();
switchBtnText($("#btn1"), $("#p1"), "Text 1");
}

function toggleTwo() {
$("#p2").slideToggle();
switchBtnText($("#btn2"), $("#p2"), "Text 2");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btn1" onclick="toggleOne()">Text 1 <b>hide</b></button>
<button id="btn2" onclick="toggleTwo()">Text 2 <b>hide</b></button>

<p id="p1">Text _ 1 _</p>
<p id="p2">Text _ 2 _</p>

所以第一次点击按钮就可以了。该按钮将其文本切换为“显示”。但是,当单击 agai(显示元素)时,它不会切换回“隐藏”文本。

我使用 contentElement.is(":hidden") 来检查元素是否隐藏或显示。

最佳答案

在使用.slideToggle()之前必须调用.is(":hidden")

function toggleOne() {
var isVisible = $("#p1").is(":hidden");
$("#p1").slideToggle();
switchBtnText($("#btn1"), isVisible, "Text 1");
}

function switchBtnText(btn, isVisible, contentText) {
var stateText = isVisible ? "hide" : "show";
contentText += " <b>" + stateText + "</b>";
$(btn).html(contentText);
}

function toggleOne() {
var isVisible = $("#p1").is(":hidden");
$("#p1").slideToggle();
switchBtnText($("#btn1"), isVisible, "Text 1");
}

function toggleTwo() {
var isVisible = $("#p2").is(":hidden");
$("#p2").slideToggle();
switchBtnText($("#btn2"), isVisible, "Text 2");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btn1" onclick="toggleOne()">Text 1 <b>hide</b></button>
<button id="btn2" onclick="toggleTwo()">Text 2 <b>hide</b></button>

<p id="p1">Text _ 1 _</p>
<p id="p2">Text _ 2 _</p>

关于javascript - 使用切换状态切换按钮文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45709411/

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