我已經得到了包括四個絕對定位的div 「象限」 的佈局,像這樣1日 - 3日:
div.quadrant#one | div.quadrant#two
height: 25%; | height: 25%;
width: 25%; | width: 25%;
|
__________________________________________
div.quadrant#three | div.quadrant#four
height: 25%; | height: 25%;
width: 25%; | width: 25%;
|
HTML
<div class="quadrant" id="one"></div>
<div class="quadrant" id="two"></div>
<div class="quadrant" id="three"></div>
<div class="quadrant" id="four"></div>
我正在使用jQuery添加.open
或.closed
的類當點擊一個象元時,quadrant.open
增長到95%寬度和100%高度,而quadrant.closed
縮小到5%寬度和33.33%高度。這裏的代碼:
$('div.quadrant').click(function() {
$(this).addClass('open');
$(this).parent().children('div.quadrant').not('.open').addClass('closed');
});
我已經得到那件作品沒有問題。 此處,我很爲難:
的問題
我也想用.addClass
另一個類添加到這取決於它們是否是第一個div.closed
三個div.closed
元素,第二,或第三個。如果一個div是第一個關閉的類,我還想添加.top
;如果第二,我想補充.middle
;如果第三,我想補充.bottom
。
我試着用:eq(1)
,:eq(2)
和:eq(3)
得到這個工作。 但是,只有在點擊了div#one
或div#two
之後,div.closed
之後的象限纔會受到影響。下面是代碼:
$(this).parent().children('div.quadrant').not('.open').addClass('closed');
$(this).parent().children('div.quadrant:eq(1)').not('.open').addClass('top');
$(this).parent().children('div.quadrant:eq(2)').not('.open').addClass('middle');
$(this).parent().children('div.quadrant:eq(3)').not('.open').addClass('bottom');
這裏有一個JS斌:http://jsbin.com/UJopeTo/1/edit?html,css,js,output
是不是有什麼毛病我已經鏈接這些功能的方式是什麼?任何幫助表示讚賞!
非常感謝,我試圖讓你的早期版本能夠將一個.closed象限變成一個.open,但代碼很好,並且以一種更清潔的方式 – Marcatectura