我不知道,如果这个问题已经被问过,但我是很新的Javascript和我是想这个例子:我试图改变显示按钮的文字显示隐藏的HTML元素,更新按钮文本
/隐藏fieldSet但按钮设置按钮文本不能正常工作。
$(window).on("load", function() {
$('.indoor').slideDown();
$('.outdoor').slideDown();
});
$(document).ready(function(){
$(".togOutBtn").click(function(){
$(".outdoor").toggle(1000);
});
$(".togIndorBtn").click(function(){
$(".indoor").toggle(1000);
});
});
function btnToggle(elem, text) {
if (elem.value == "") {
elem.value = "Hide " + text;
}
if (elem.value == "Hide") {
elem.value = "Show " + text;
document.getElementById("togOutBtn").innerHTML = elem.value;
} else {
elem.value = "Hide " + text;
document.getElementById("togOutBtn").innerHTML = elem.value;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<button onclick="return btnToggle(this, 'Outdoors');" class="togOutBtn" id="togOutBtn">Hide Outdoors</button>
<fieldset class="outdoor" style="display: none;">
<legend>Outdoors</legend>
Temperature:
<div id="Outtemp"></div>
Humidity:
<div id="Outhumid"></div>
Feels lile:
<div id="OutheadIndex"></div>
<button onclick="waterPlant1()">Water the Plant</button>
</fieldset>
<br>
<button onclick="btnToggle(this, 'Indoors');" class="togIndorBtn">Hide Indoors</button>
<fieldset class="indoor" style="display: none;">
<legend>Drawing Room</legend>
Temperature: 23* C
<br>Humidity: 12%
<br>Feels lile:18* C
<br>
</fieldset>
而且第一场组的户外抖动而显示隐藏相比较低的一条室内变为非常流畅。
您可以命名,显示隐藏字段的jQuery的匿名函数,那是什么是非常混乱我在jquery –
检查编辑,我已经将回调包装成一个简单的e函数调用你传递类名和输入/输出字符串的位置 – KAD
谢谢,* outdoor * fieldset的下滑并不平滑,这看起来非常难看。 –