m0_51983513
2021-05-31 19:32
采纳率: 100%
浏览 51

关于js问题,救命急救啊啊~~鼓捣了一下午没弄明白😭哪位打神救救我

为啥,我把鼠标移入指定元素,那个小方块不显示啊,,,好像那个onmousemove和那个onmouseout事件里的函数同时执行了,但是我在浏览器页面上打开任意窗口(打开开发者工具也行),他就能显示,但那个onmouseout事件却不管用了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • CSDN专家-showbo 2021-05-31 20:50
    已采纳

    mouseout移动到子对象也会触发的,改为mouseleave事件,如果早几年的旧chrome版本浏览器没有mouseleave事件,一般是通过判断当前移动到的对象是否为子元素来实现的。

    打开控制台,谷歌可能做了什么处理,只有移动出可视窗口后才会触发mouseout事件,移动出是、对象也不会触发,。

    dian.onmouseout = function () { jq.style.display = "none";};

    ===>
    dian.onmouseleave = function () { jq.style.display = "none";};

     

    帮助到你可以点击采纳支持下吗,谢谢~

    点赞 评论
  • 答题大神 2021-05-31 19:42

    理论上来说,这两个事件肯定不会同时执行的,你把代码贴出来,我们好判断问题,也方便修改,截图看不太清楚。

    点赞 评论
  • m0_51983513 2021-05-31 19:51

    <!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title></title>        <style type="text/css">            .zoom{                padding: 0;                width: 500px;                height: 300px;                margin: auto 20px;                background-color: #0077AA;            }            #s{width: 200px; position: relative;height: 200px; background-color: #0000FF;}            .jqZoomPup{                width: 100px;height: 100px;                display: none;                background-color: rgba(1, 0, 0, 0.5);                position: absolute;                z-index: 100;                                        }                    </style>        <script src="./jquery-3.5.1/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>    </head>    <body>        <div class="zoom">            <div id="s">                <img src="../js学习/js学习2.0/dom/IMG/1.jpg"  style="width: 200PX;">                <div class="jqZoomPup">                </div>            </div>                    </div>        <script type="text/javascript">            // $(function(){            //     $("#s").mousemove(function(event){            //     var e=event||window.event;            // var Left=e.pageX-$(".jqZoomPup").width()/2-$(".zoom").offset().left;            // var Top =e.pageY-$(".jqZoomPup").height()/2-$(".zoom").offset().top;                            //     $(".jqZoomPup").css("display",'block');            //     $(".jqZoomPup").css("left",Left);            //     $(".jqZoomPup").css("top",Top);            //     $(".jqZoomPup").html(Left+" "+Top)                            // })            // $("#s").mouseout(function(){            //     $(".jqZoomPup").css("display",'none');            // })            // })            var dian=document.getElementById("s");            var jq=document.getElementsByClassName("jqZoomPup")[0];            var zoom=document.getElementsByClassName("zoom")[0];            dian.onmousemove=function(event){                                var e=event||window.event                jq.style.display="block";                var Left=e.pageX-jq.clientWidth/2-zoom.offsetLeft;                 var Top =e.pageY-jq.clientHeight/2-zoom.offsetTop;                 jq.style.left=Left+"px";                 jq.style.top=Top+"px";                             }            dian.onmouseout=function(){                jq.style.display="none";            }                    </script>    </body></html>

    点赞 评论
  • 有问必答小助手 2021-06-01 10:06

    您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

    ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

    【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
    【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632

    点赞 评论

相关推荐 更多相似问题