我有我的網頁改變文本時,DIV是開放
<button id="show1" class="morelinkblack">Find Out More</button>
上的按鈕,當點擊它運行該代碼
$("#show1").click(function(){
$(".hidden-div1").slideToggle("slow");
});
是否有更改文字說的一種方式「關閉「而不是」發現更多「,而div是可見的?
我有我的網頁改變文本時,DIV是開放
<button id="show1" class="morelinkblack">Find Out More</button>
上的按鈕,當點擊它運行該代碼
$("#show1").click(function(){
$(".hidden-div1").slideToggle("slow");
});
是否有更改文字說的一種方式「關閉「而不是」發現更多「,而div是可見的?
你可以這樣做:
$("#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");
奇妙,但當頁面加載與div已打開它不能正常工作。它從查找更多文本開始 –
如果默認div設置爲打開,那麼將默認文本設置爲「關閉」 – tymeJV
這一切都取決於它們來自哪裏以及它們在尋找什麼。我需要它擺動雙方。這就是爲什麼我覺得我很難找到它。你的是完美的,直到頁面加載打開div –
更新代碼
$("#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');
}
});
謝謝。你的工作也很棒,但是頁面可以加載div打開。發生這種情況時,文本是錯誤的。如果頁面用div加載,那麼文本是完美的 –
在這種情況下,我們可以在更新按鈕文本之前檢查'$(this).css('display')'。代碼已更新。 –
代碼已更新。現在按文本更新文檔就緒/頁面加載 –
也許這樣的:
$("#show1").click(function() {
var $div = $(this);
$(".hidden-div1").slideToggle("slow").promise().done(function() {
$div.text(function() {
return $(this).is(":visible") ? "Close" : "Find Out More"
});
});
});
感謝您的答覆。沒有,只是加載與發現更多的鏈接仍然發現更多的書面。點擊時顯示關閉鏈接,然後不會更改 –
'if($(「#show1」)。(「:visible」)){// change text}' – krishgopinath
檢查http://stackoverflow.com/questions/5580616/jquery-change-button-text – Yogesh
@yogesh這似乎太不同,我比較,但謝謝你的迴應 –