我有一個垂直列表的divs,我在懸停時動畫每個。我希望其他人保持在同一個位置,而選擇的「增長」(我討厭這麼說,但是想到MacOS Launcher)。我知道我可以做到這一點,如果我絕對使用JavaScript循環定位每一個,但我希望這樣做盡可能動態。動畫div在列表中,保持兄弟姐妹靜態
想法?
HTML:
<div id="leftMenu">
<div id="lmHome" class="lmSelected"><i class="icon-home icon-2x"></i></div>
<div id="lmSearch"><i class="icon-search icon-2x"></i></div>
<div id="lmFeed"><i class="icon-rss icon-2x"></i></div>
<div id="lmPeople"><i class="icon-group icon-2x"></i></div>
<div id="lmNew"><i class="icon-plus icon-2x"></i></div>
<div id="Div2"><i class="icon-calendar icon-2x"></i></div>
<div id="lmSettings"><i class="icon-cogs icon-2x"></i></div>
<div id="Div1"><i class="icon-question icon-2x"></i></div>
</div>
CSS:
#leftMenu { /* The container for the buttons on the left menu*/
position: absolute;
left: 10px;
padding-top: 10px;
height: auto;
}
#leftMenu div { /* The buttons on the left menu*/
position: relative;
top: 0px;
height: 50px;
width: 50px;
border: 1px solid gray;
text-align: center;
overflow: visible;
}
#leftMenu div i {
position: relative;
top: 12px;
}
#leftMenu div:hover {
}
#leftMenu div:last-child {
border-bottom: 1px solid gray;
}
的JavaScript:
$('#leftMenu div').on('mouseenter', function() {
var self = $(this);
self.stop()
.animate({ 'height': '+=10px' }, { duration: 100, queue: false })
.animate({ 'width': '+=10px' }, { duration: 100, queue: false })
.animate({ 'top': '-=5px' }, { duration: 100, queue: false })
});
$('#leftMenu div').on('mouseleave', function() {
var self = $(this);
self.stop()
.animate({ 'height': '-=10px' }, { duration: 400, queue: false })
.animate({ 'width': '-=10px' }, { duration: 400, queue: false })
.animate({ 'top': '+=5px' }, { duration: 400, queue: false })
});
輝煌,但我該如何保持左側靜態?就像菜單位於屏幕的左邊緣一樣,我不希望按鈕的左側移出屏幕邊界。 –
您可以使用[CSS變換](https://developer.mozilla.org/en-US/docs/Web/CSS/transform)移動事物而不影響同胞。我會讓你去發現:) – Greg
嗯,我認爲這是轉換的起源,但我無法得到它的工作:http://jsfiddle.net/bttah/6/ –