我遇到問題。我想在多個div之間切換,而其中一個顯示其餘的隱藏。 這是我到目前爲止。在多個div之間切換
在此先感謝!
<a href="#n" onclick="toggle_visibility('box1');">
<div class="square img_1-1"></div>
</a>
<a href="#n" onclick="toggle_visibility('box2');">
<div class="square img_1-2"></div>
</a>
<a href="#n" onclick="toggle_visibility('box3');">
<div class="square img_1-3"></div>
</a>
<div id="box1" style='display:none;'>
<div class="trabajo">
<p>box1</p>
</div>
</div>
<div id="box2" style='display:none;'>
<div class="trabajo">
<p>box2</p>
</div>
</div>
<div id="box3" style='display:none;'>
<div class="trabajo">
<p>box3</p>
</div>
</div>
<a href="#n" onclick="toggle_visibility('box4');">
<div class="square img_2-1"></div>
</a>
<a href="#n" onclick="toggle_visibility('box5');">
<div class="square img_2-2"></div>
</a>
<a href="#n" onclick="toggle_visibility('box6');">
<div class="square img_2-3"></div>
</a>
<div id="box4" style='display:none;'>
<div class="trabajo">
<p>box4</p>
</div>
</div>
<div id="box5" style='display:none;'>
<div class="trabajo">
<p>box5</p>
</div>
</div>
<div id="box6" style='display:none;'>
<div class="trabajo">
<p>box6</p>
</div>
</div>
此外,這裏是Javascript。我正在使用toggle_visibility(id)問題是,當我隱藏一個盒子並打開另一個盒子時,它開始出現奇怪現象,然後它會變得很奇怪。它將兩個都打開然後關閉一個。
var prevId;
function toggle_visibility(id) {
if(prevId && id !== prevId){
$("#"+prevId).toggle();
}
var e = document.getElementById(id);
$(e).toggle();
prevId = id;
}
還有另一個javascript代碼我嘗試過,這一個工程八九不離十很好,它不會做的唯一事情是撥動它只是顯示的工作,並沒有隱藏它,雖然它不同之間切換工作。
top.visible_div_id = 'box1';
function toggle_visibility(id) {
var old_e = document.getElementById(top.visible_div_id);
var new_e = document.getElementById(id);
if(old_e) {
console.log('old', old_e, 'none');
old_e.style.display = 'none';
}
console.log('new', new_e, 'block');
new_e.style.display = 'block';
top.visible_div_id = id;
}
你能提供一個我們可以使用的代碼的jsfiddle嗎? – Grice 2014-10-20 18:46:46
http://jsfiddle.net/luis4567/wj2zm0mq/1/ – 2014-10-20 19:22:17