假設我的10 divs
的形式爲squares
。我們稱之爲home
頁面。 在這些10, 3 divs
具有類.event1
5 divs
具有類.event2
2 divs
具有類.event3
懸停時增加尺寸而不更改其他元素的位置
<div class="boxes event1">
....//3-times
....
</div>
<div class="boxes event2">
....//5-times
....
</div>
<div class="boxes event3">
....//2-times
....
</div>
這些箱子被放在旁邊彼此。
當我點擊event1
時,除了那些擁有類event1
的盒子外,所有的盒子都會淡出。同樣,對於所有類。在點擊home
,所有的箱子將再次淡入
<div id="navi">
<a href="#"><div id="t0"><span>Home</span></div></a>
<a href="#"><span>Event1</span></a>
<a href="#"><span>Event2</span></a>
<a href="#"><span>Event3</span></a>
</div>
爲fadeOut
我的jQuery代碼:
<script type="text/javascript">
$(function() {
$('#t0').click(function() {
$("*").animate({
opacity: 1.0
}, 500);
});
$("#navi a").click(function() {
c = $(this).text().toLowerCase();
if (c!="home"){
$('.' + c).animate({
opacity: 1.0
}, 500).addClass('w1');
$('.boxes').not('.' + c).animate({
opacity: 0.0
}, 500);
}
});
});
</script>
的CSS類:
.boxes, .event1, .event2, .event3 {
background:rgba(0, 0, 0, .30);
float:left;
position:relative;
overflow:hidden;
width:100px;
height:100px;
margin:2px;
box-shadow:0 0px 15px rgba(0,0,0,0.75) inset;
-moz-box-shadow:0 0px 15px rgba(0,0,0,0.75) inset;
-webkit-box-shadow:0 0px 15px rgba(0,0,0,0.75) inset;
}
.w1:hover{
background:rgba(0, 0, 0, .30);
float:left;
width:200px;
height:200px;
position:absolute;
overflow:hidden;
box-shadow:0 0px 15px rgba(0,0,0,0.75) inset;
-moz-box-shadow:0 0px 15px rgba(0,0,0,0.75) inset;
-webkit-box-shadow:0 0px 15px rgba(0,0,0,0.75) inset;
}
現在,我想使只有一個特定框大小增加(width:200px; height:200px
),當鼠標指針懸停。我找不到辦法做到這一點。
當我添加該類.w1
在javascript
代碼,它被應用到所有具有類event1
或event2
或event3
(無論哪個被選擇的一個)的元件。所以,當我徘徊到某個特定的課堂(已選中)時,所有的框都會進行過渡,並且框會發生變化。
我只想要一個盒子來改變尺寸,而其他盒子都在原來的位置。 此外,必須爲特定事件激活此hovering
事件,以便在選擇home
時不能在元素上使用hover
。我甚至試圖通過更改z-index
來做到這一點,但頁面變得相當混亂。
您可以使用CSS3轉換用於此目的。這將是容易和乾淨。 – hayavuk
@bvukelic:你能推薦一些教程/鏈接嗎? – xan
我知道一個好,但找不到它。雖然這個看起來不錯。查看它使用的菜單的CSS。 http://www.the-art-of-web.com/css/css-animation/ – hayavuk