在網(wǎng)站的制作中,經(jīng)常需要做導航,簡單的下拉的菜單,可以盡量做得視覺上比較舒服。下拉菜單緩慢展開。
可以用slideDown()和slideUp()實現(xiàn)。例如:
$(" .nav-wrap li").hover(function () {
$(this).children(".nav-box").slideDown();
}, function () {
$(this).children(".nav-box").slideUp();
});
還可以使用css3過渡的屬性來實現(xiàn)這樣的效果。這樣就可以不用slideDown()和slideUp()方法,就只需要一些css代碼就能實現(xiàn)這樣的效果了,這里過渡的用法比較基礎,但是可以輕松的實現(xiàn)這里需要的效果,感覺功能很強大。Css3理解不難,但是要用好不是那么容易,在此記錄一些這個比較基礎的用法,以后繼續(xù)努力學習。這里需要在過渡的div.nav-box設置transform-origin: 0 0; 是設置這個元素的基點位置, 然后設置transition,令這個過程有了動畫的效果。
.nav .nav-box {
-o-transform: scaleY(0);
-ms-transform: scaleY(0);
-moz-transform: scaleY(0);
-webkit-transform: scaleY(0);
transform: scaleY(0);
position: absolute;
width: 100%;
background: #fff;
top: 100px;
left: 0;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.nav-wrap .nav-box{
-o-transform-origin: 0 0;
-ms-transform-origin: 0 0;
-moz-transform-origin: 0 0;
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
-o-transition: all 0.5s;
-ms-transition: all 0.5s;
-moz-transition: all 0.5s;
-webkit-transition: all 0.5s;
transition: all 0.5s;
}
.nav-wrap li:hover .nav-box{
-o-transform: scaleY(1);
-ms-transform: scaleY(1);
-moz-transform: scaleY(1);
-webkit-transform: scaleY(1);
transform: scaleY(1);
}