我的页面上有一个按钮
<button id="show1" class="morelinkblack">Find Out More</button>
单击时会运行此代码
$("#show1").click(function(){
$(".hidden-div1").slideToggle("slow");
});
当div显示时,是否有办法将文字更改为“关闭”而不是“查找更多”?
答案 0 :(得分:7)
你可以这样做:
$("#show1").click(function(){
var that = $(this);
$(".hidden-div1").slideToggle("slow", function() {
if ($(this).is(":visible")) {
that.text("Close");
} else {
that.text("Find out more");
}
});
});
根据评论,可以根据用户的指示来打开或关闭div。对DOM准备好的简单检查可以相应地设置文本:
$(".hidden-div1").is(":visible") ? $("#show1").text("Close") : $("#show1").text("Find out more");
答案 1 :(得分:1)
更新了代码
$("#show1").click(function() {
var el = $(this);
$(".hidden-div1").slideToggle("slow", function() {
if ($(this).css('display') == 'none') { // <- Updated here to check if div is close or open
el.text('Find Out More');
} else {
el.text('Hide More');
}
});
});
更新文档就绪/页面加载
上的按钮文本$(document).ready(function() {
if ($(".hidden-div1").css('display') == 'none') {
$("#show1").text('Find Out More');
} else {
$("#show1").text('Hide More');
}
});
答案 2 :(得分:1)
也许这个:
$("#show1").click(function () {
var $div = $(this);
$(".hidden-div1").slideToggle("slow").promise().done(function () {
$div.text(function () {
return $(this).is(":visible") ? "Close" : "Find Out More"
});
});
});