我正在創建一個項目來創建一個網站,我需要3個div出現/消失時勾選一些複選框(每div一個)。我在這裏做了一個例子:http://jsbin.com/okevuy/1/edit 我的問題(解釋相當複雜)是,我希望第一個打勾的DIV出現在頂部(不管先觸發哪一個),下一個打勾的DIV出現在第一個。如果第一個隱藏是通過取消勾選複選框,第二個隱藏在頂部,下一個勾出現在下面,等等...... 有人可以幫助做到這一點,並告訴我如何? 非常感謝!DIV動態位置與jQuery
回答
試試這個
標記:添加一個包裝周圍的箱子
<div id="mianwrapper" >
<div id='red_div' class='divs'></div>
<div id='blue_div' class='divs'></div>
<div id='green_div' class='divs'></div>
</div>
腳本:
$(document).ready(function() {
$('#checkbox_red_div').click(function() {
if ($(this).is(':checked')){ checkPosition("red_div"); $('#red_div').show(10); $('#red_div').animate({
'opacity': '1',
'margin-left': '0px'
}, 300)}
else $('#red_div').animate({
'opacity': '0',
'margin-left': '-80px',
"display":"none"
}, 300 , function(){$('#red_div').fadeOut(100)});
});
$('#checkbox_blue_div').click(function() {
if ($(this).is(':checked')) { checkPosition("blue_div"); $('#blue_div').show(10); $('#blue_div').animate({
'opacity': '1',
'margin-left': '0px'
}, 300)}
else $('#blue_div').animate({
'opacity': '0',
'margin-left': '-80px',
}, 300 , function(){$('#blue_div').fadeOut(100)});
});
$('#checkbox_green_div').click(function() {
checkPosition("green_div");
if ($(this).is(':checked')){ $('#green_div').show(10); $('#green_div').animate({
'opacity': '1',
'margin-left': '0px'
}, 300)}
else $('#green_div').animate({
'opacity': '0',
'margin-left': '-80px',
}, 300 , function(){$('#green_div').fadeOut(100)});
});
function checkPosition(getBox)
{
$("#"+getBox).appendTo("#mianwrapper");
}
});
個定製CSS: 在CSS小變化
#red_div{
border:solid 1px red;
width:100px;
height:50px;
opacity:1;
float:left;
clear:left;
}
#blue_div{
border:solid 1px blue;
width:100px;
height:50px;
opacity:1;
float:left;
clear:left;
}
#green_div{
border:solid 1px green;
width:100px;
height:50px;
opacity:1;
float:left;
clear:left;
}
謝謝,它就像一個魅力!謝謝其他人的回答! – user2478662
示例代碼
$('#red_div').animate({
'height': '50',
'opacity': '1',
'margin-left': '0px'
}, 300);
else $('#red_div').animate({
'height': '0',
'opacity': '0',
'margin-left': '-80px'
}, 300);
});
這有助於我是的,謝謝,但是有可能將最後一次檢查的位置放在已顯示的其他位置下面? – user2478662
我不理解兄弟.. – ShibinRagh
沒關係,Shinov T的回答成就了它,感謝您的時間花花公子! – user2478662
我已經編輯您的例子:http://jsbin.com/okevuy/7/edit。覈實。改變了什麼:「height:50px」如果div可見,否則height:0px。 希望它能解決您的問題。
由於您只是移動它們而不是隱藏它們,它仍然佔用空間。你可以嘗試隱藏/顯示DIV當動畫完成:
if ($(this).is(':checked')) $('#red_div').show().animate({
'opacity': '1',
'margin-left': '0px'
}, 300);
else $('#red_div').animate({
'opacity': '0',
'margin-left': '-80px'
}, 300, function(){ $(this).hide();});
});
- 1. 用固定位置與Jquery滑動div
- 2. jquery定位動態div scrolltop
- 3. Boostrap動態div位置
- 4. 動態捕捉div位置
- 5. jQuery的動畫DIV位置
- 6. jquery div滾動位置
- 7. 動態位置下拉與jQuery
- 8. jquery與動態div綁定
- 9. 設置動態彈出div的位置
- 10. jquery動態位置更改
- 11. JQuery動態更新div內容,按滾動位置跳轉
- 12. 問題與jQuery可拖動和div與底部修復位置
- 13. Jquery draggable div位置
- 14. 控制動態插入div的位置
- 15. 固定位置動態高度的Div
- 16. 動態使頂部div位置
- 17. 在angularjs中動態更改div位置
- 18. 用jquery動態設置位置
- 19. jQuery動態設置對象的位置?
- 20. jQuery檢測滾動上的div位置
- 21. jquery計算動畫後div的位置
- 22. jquery鼠標滾動更改div位置
- 23. jQuery來檢測滾動的div位置
- 24. 在div位置可拖動jquery函數
- 25. 動態滾動位置jQuery中
- 26. 動態jquery div添加動態jquery href
- 27. jQuery動態div在飛行中與href
- 28. 動態顯示/隱藏div與jQuery
- 29. 造型動態生成的div與jQuery
- 30. 刪除動態創建div與jquery
如果他們的第一個你要在第二留在頂部還是應該第一個複選框拿第一名和第二向下移動之前,第二個被選中? –
最好是,如果可能的話,我希望它低於另一個 – user2478662