現在天貓或者京東商品分類模塊的默認的效果是這樣的:
當鼠標滑過任意一欄導航分類時,就會出現相關詳細分類模塊,例如:
當鼠標移出藍色框以外的區域,就會恢復默認的效果顯示!然而使用jQuery的鼠標滑過事件,用得比較多的就是mouseover()和mouseout(),或者是他們兩個的整合hover();所以之前我也是用的這種方法,但是一直調整都調整不到想要的效果!后來靈光一現,想著使用一下mouseenter()和mouseleave();結果分分鐘想要的效果就出來了!
我的布局大致是這樣的:
<div class="nav_left"><div class="nav_top"></div><div class="nav_tilte">全部商品分類</div><div class="dd"><div class="nav_list"><div class="nav_list_s "><span class="nav_span"><a href="#">手機、</a><a href="#">數碼、</a><a href="#">京東通信</a></span><i class="nav_arrow">></i></div><div class="nav_list_s"><span class="nav_span"><a href="#">手機、</a><a href="#">數碼、</a><a href="#">京東通信</a></span><i class="nav_arrow">></i></div><div class="nav_list_s"><span class="nav_span"><a href="#">手機、</a><a href="#">數碼、</a><a href="#">京東通信</a></span><i class="nav_arrow">></i></div></div><div class="nav_detailBox"><div class="nav_detail"><a href="#">111詳細的子菜單,這里就不寫了</a></div><div class="nav_detail"><a href="#">22222詳細的子菜單,這里就不寫了</a></div><div class="nav_detail"><a href="#">3333詳細的子菜單,這里就不寫了</a></div> </div></div></div>
在nav_left的盒子里有3塊大內容,分別是如圖的1,2,3,它們同屬于nav_left里面,因為都屬于分類商品的內容,1和2相當于是裝飾展示的作用,把布局排好就行
那么重點是在第3個模塊,第三個模塊的大盒子這里命名為dd
在dd的盒子(也就是第3模塊)里面,分別有左邊紅色背景的這個導航分類的大盒子(nav_list)3.1,和右邊鼠標滑過之后才顯示的白色背景的盒子(nav_detailBox)3.2,經常寫這種布局的肯定知道是用定位布局才能實現,所以這里也是用定位來實現的布局。
布局要和我們的樣式相關聯系,比如我們默認樣式就是鼠標不滑過是默認的效果,鼠標滑過顯示的特殊效果,那就單獨寫一個樣式,通過jquery事件添加進去即可!
例如我這里就有一個特殊的類nav_list_s01,添加上它這個類之后,鼠標滑過背景就是白色的。
當布局和樣式完全準備妥當之后,我們就可以使用jquery來實現之前想要的效果了:
$(".nav_list_s").mouseenter(function(){$(this).addClass("nav_list_s01").siblings().removeClass("nav_list_s01");$(".nav_detailBox").show();$(".nav_detailBox").children(".nav_detail").eq($(this).index()).show().siblings().hide();})$(".nav_left").mouseleave(function(){$(this).find(".nav_list_s").removeClass("nav_list_s01");$(".nav_detailBox").stop().hide();})
之前給出的大致布局也可以看出,nav_list_s是這些盒子
nav_detailBox就是鼠標滑過左邊的nav_list_s才顯示的大盒子,nav_detail就是這個大盒子里的內容。
以上所述是小編給大家介紹的jQuery模仿京東/天貓商品左側分類導航菜單效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持
新聞熱點
疑難解答