javascript - 请问各位大神怎样解决这个问题。感谢!

 手浪用户2602884673 发布于 2022-11-12 11:12

点击这个按钮时,改变成另外一种效果,这些都能实现,但问题来了。因为点击的时候也算是触碰所以离开后还是会受hover的影响,导致鼠标离开后,点击后的效果没了,我需要保留这个效果,跟滴滴官网http://static.udache.com/gulfstream/webapp/pages/udache-driver-pc.html请问各位大神怎样解决这个问题。感谢!

9 个回答
  • 点击当前添加一个样式CLASS,hover事件中添加一条判断,判断是否有这个class即可

    2022-11-12 11:13 回答
  • 下面是滴滴官网的代码,每当图片激活时,会加上activeClass,使样式变化。

    <p id="icon_outer" class="overflow-hid ie_btn_hide" style="margin-top:40px;">
        <a class="mess_icon_driver icon_a"></a>
        <a class="mess_icon_driver icon_b active"></a>
        <a class="mess_icon_driver icon_c"></a>
        <a class="mess_icon_driver icon_d"></a>
    </p>
    2022-11-12 11:13 回答
  • 很好解决
    在写css样式的时候,比如
    p img:hover{background:red}在后面再加一句
    p img.hover{background:red}
    意思是这个元素的class="hover"的时候 也长这样
    只要在hover了之后,addClass('hover')

    2022-11-12 11:14 回答
  • https://segmentfault.com/q/1010000005900910?_ea=946813 你看是这样的效果吗?把hover事件换成click事件。

    2022-11-12 11:14 回答
  • 其實可以純 CSS 解決,稍微寫了例子:

    jsFiddle

    重點在於這三行:

    .icon > input[type="radio"] {
        display: none; /* 隱藏原本的 radio */
    }
    
    .icon input[type="radio"]:checked ~ label {
        color: orange; /* 利用 ~ 選擇器,這裡的意思是 所有前面元素為input[type="radio"]:checked
                          的label元素 */
    }
    
    .icon > label:hover {
        color: orange; /* 滑鼠移入移出效果 */
    }

    主要是利用 inputlabel 的神奇配合效果:

    <input type="radio" id="one"><label for="one"></label>

    inputidlabelfor 相符時,點擊 label 等同於點擊 radio
    這時就可以在 label 裡面放 icon ,實現自定義 radio 外觀的效果。

    2022-11-12 11:14 回答
  • 其实就是轮播图下面的小点点换成制订的icon

    2022-11-12 11:14 回答
  • 点击后和hover的效果应该是一样的
    点击的时候处理一下就好了比如:

    .nav li.active,.nav li:hover{//高亮}
    $(".nav li").click(function(){
        $(this).addClass("active").siblings("li").removeClass("active");
    });
    2022-11-12 11:14 回答
  • 可以给每个图标加上一个开关,点击后,点击的那个图标的开关就为false,其它的就为true。然后在hover里面做个判断,如果开关是false,鼠标移出时就不变,如果是true,鼠标移出时就变灰

    2022-11-12 11:14 回答
  • 加个变量持久化一下呗。每个图标加一个selected变量,被点击了就把这个图标的selected设置为true,四个图标的selected只有一个是true,然后根据这个属性来给图标加选中样式。

    2022-11-12 11:15 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有