我可以用不同的按鈕來做這個功能。但我不能通過點擊相同的按鈕來實現這一點。點擊顯示'Div 1'並隱藏'Div 2'&點擊同樣的按鈕顯示'Div 2'並隱藏'Div 1'?
使用ternary-operator
Element.style.display
任何幫助/建議 感謝
我可以用不同的按鈕來做這個功能。但我不能通過點擊相同的按鈕來實現這一點。點擊顯示'Div 1'並隱藏'Div 2'&點擊同樣的按鈕顯示'Div 2'並隱藏'Div 1'?
使用ternary-operator
Element.style.display
任何幫助/建議 感謝
display
CSS 財產var btn = document.getElementById('btn');
var curr = 'div2';
btn.onclick = function() {
document.getElementById(curr).style.display = 'none';
curr = curr === 'div2' ? 'div1' : 'div2';
document.getElementById(curr).style.display = 'block';
};
div {
display: none;
}
<div id="div1">#div1</div>
<div id="div2">#div2</div>
<button id='btn'>Change</button>
任何這樣的事情?
function divchange(){
div1 = document.getElementById("div1");
div2 = document.getElementById("div2");
if(div1.style.display == "none"){
div1.style.display = "block";
div2.style.display = "none";
}else{
div1.style.display = "none";
div2.style.display = "block";
}
}
<button id="divchangebutton" onclick="divchange();">test</button>
<div id="div1">asdf</div>
<div id="div2" style="display:none;">qwert</div>
問題 - 如果 「顯示:無」 套在CSS中,我們不能得到的價值。 「elem.style.display」返回空字符串。 我們可以使用Computed Style來解決這個問題。
var btn = document.getElementById("btn-toggle");
btn.addEventListener("click", function(){
var one = document.querySelector(".one");
var tow = document.querySelector(".tow");
one.style.display = (getRealDisplay(one) == 'none') ? 'block' : 'none';
tow.style.display = (getRealDisplay(tow) == 'none') ? 'block' : 'none';
});
// get real value of 'display' property
function getRealDisplay(elem) {
if (elem.currentStyle) {
return elem.currentStyle.display;
} else if (window.getComputedStyle) {
var computedStyle = window.getComputedStyle(elem, null);
return computedStyle.getPropertyValue('display');
}
}
.one, .tow{
width:200px;
min-height: 200px;
background-color:burlywood;
}
.tow{
display: none;
background-color:cadetblue;
}
<div class="one">1</div>
<div class="tow">2</div>
<button id="btn-toggle">show hide</button>
可以知道在哪個語言,你在做這個? –
請使用您的代碼更新您的問題並正確解釋 –
將代碼放在代碼中沒有人可以幫助您 – mean