你的位置:首页 > Java教程

[Java教程]jquery模仿京东/天猫商品分类导航效果

现在天猫或者京东商品分类模块的默认的效果是这样的:

当鼠标移出蓝色框以外的区域,就会恢复默认的效果显示!然而使用jQuery的鼠标滑过事件,用得比较多的就是mouseover()和mouseout(),或者是他们两个的整合hover();所以之前我也是用的这种方法,但是一直调整都调整不到想要的效果!后来灵光一现,想着使用一下mouseenter()和mouseleave();结果分分钟想要的效果就出来了!

我的布局大致是这样的:

    <div >      <div ></div>      <div >全部商品分类</div>       <div >        <div >          <div >            <span ><a href="#">手机、</a><a href="#">数码、</a><a href="#">京东通信</a></span>            <i >></i>          </div>          <div >            <span ><a href="#">手机、</a><a href="#">数码、</a><a href="#">京东通信</a></span>            <i >></i>          </div>          <div >            <span ><a href="#">手机、</a><a href="#">数码、</a><a href="#">京东通信</a></span>            <i >></i>          </div>            </div>                       <div >          <div >            <a href="#">111详细的子菜单,这里就不写了</a>                      </div>          <div >            <a href="#">22222详细的子菜单,这里就不写了</a>                      </div>          <div >            <a href="#">3333详细的子菜单,这里就不写了</a>                      </div>                     </div>       </div>     </div>

 

在nav_left的盒子里有3块大内容,分别是如图的1,2,3,它们同属于nav_left里面,因为都属于分类商品的内容,1和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是这些盒子