实现网页底部菜单图标点击切换效果

实现网页底部菜单图标点击切换效果

首先我们将准备好的图片,放入工程目录中,如图所示,在这里,定义了如下四个图标,在后面加上_hover的就是点击后需要切换的图标在这里插入图片描述
思路:用户点击某图标时将该图标的路径后面加上_hover,将未点击的图标去掉_hover,即可完成效果。

做法一:js切换
html代码如下:
在这里插入图片描述

再上js代码:
//加上点击事件

$('.btn-menu').click(
			function(event) {
			    if(event.target.tagName === 'IMG'){
			    var nodes = $('.btn-menu img');
			    for(var i=0; i<nodes.length; i++){
			        nodes[i].src = nodes[i].src.replace('_hover.png','.png');
			    }
			    event.target.src = event.target.src.replace('.png','_hover.png');
			    }
			}
		)

做完后可实现点击切换图标的效果,基本算完成了,但是会有一个小问题,如果图标带上链接的话,那么点击图标之后页面就会跳转,跳转之后的页面又会刷新会造成图标复原的情况。这又该如何解决呢。

在这里推荐使用URI判断的方式解决,啥也不说了,先端上代码吧

//定义图标原路径
String[] imgPaths = new String[4];
    imgPaths[0] = "bottom-nav-ico-home";
    imgPaths[1] = "bottom-nav-ico-all";
    imgPaths[2] = "bottom-nav-ico-cart";
    imgPaths[3] = "bottom-nav-ico-user";
//获取到页面URI
    String clickedUri  = request.getRequestURI();
    //先打印出来看看叭
    System.out.println(clickedUri);
    //简单来讲,如果跳到这个链接的话,就把对应的图标路径改变,以此类推...
    if(clickedUri.indexOf("/WEB-INF/view//wechat/sundry/index.jsp") >= 0){
        imgPaths[0] += "_hover";
    }
    if(clickedUri.indexOf("/WEB-INF/view//wechat/sundry/sundry_list.jsp") >= 0){
        imgPaths[1] += "_hover";
    }
    if(clickedUri.indexOf("/WEB-INF/view//wechat/sundry/shop_cart.jsp") >= 0){
        imgPaths[2] += "_hover";
    }
    if(clickedUri.indexOf("/WEB-INF/view//wechat/center/index.jsp") >= 0) {
        imgPaths[3] += "_hover";
    }
    for (int i = 0; i < imgPaths.length; i++){
        imgPaths[i] += ".png";
    }
你没看错,这是写在jsp页面的java脚本,虽然写法奇葩点,但是有用就是王道啦...

最后来看看效果吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

''如果

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值