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

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

首先我们将准备好的图片,放入工程目录中,如图所示,在这里,定义了如下四个图标,在后面加上_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脚本,虽然写法奇葩点,但是有用就是王道啦...

最后来看看效果吧

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Axure 是一款非常流行的原型设计工具,它可以帮助我们快速创建交互式界面原型。在移动端设计中,底部菜单是非常常见的一种交互方式。 底部菜单通常位于移动应用的底部,以一组按钮或图标的形式展现。它可以提供一些常用功能的快捷入口,例如导航、搜索、设置等功能。底部菜单的设计原则是简洁、直观、易于操作,以提升用户体验。 在使用Axure设计底部菜单时,我们可以按照以下步骤进行: 1. 首先,选择一个适当的移动端界面模板,例如iPhone X或Android手机。这些模板已经按照移动设备的尺寸进行了调整,方便我们进行原型的设计。 2. 接下来,我们可以在页面底部创建一个导航栏组件,用来放置底部菜单的按钮或图标。在Axure中,我们可以使用基本形状工具或者图标库来创建这些按钮或图标。 3. 根据设计需求,将底部菜单按钮或图标进行布局和排列,并为每个按钮添加对应的标签或文本描述。这些标签或文本描述可以明确告知用户该按钮的功能,增加可用性。 4. 在Axure中,我们可以为底部菜单的按钮添加交互效果,例如点击事件或页面切换。这样用户点击按钮时,原型将会模拟相应的交互效果,使用户能够更好地理解UI设计。 5. 最后,我们可以对原型进行预览、测试和优化。通过预览模式,我们可以在真实设备上模拟用户交互,测试菜单布局、按钮大小等设计,以及确保整个交互流程的顺畅性和可用性。 在使用Axure设计底部菜单时,我们需要考虑到用户的直观习惯、界面的一致性和响应速度。合理设计底部菜单将会为用户提供更好的交互体验,使得移动应用更加易于使用和友好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

''如果

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

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

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

打赏作者

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

抵扣说明:

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

余额充值