Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVASCRIPT/JQuery如何在一次以上执行onmouve_Javascript_Jquery_Html - Fatal编程技术网

JAVASCRIPT/JQuery如何在一次以上执行onmouve

JAVASCRIPT/JQuery如何在一次以上执行onmouve,javascript,jquery,html,Javascript,Jquery,Html,当鼠标在li元素上时,我试图显示一个弹出窗口 我的弹出窗口有一个动画(淡入可见,出现,然后出现) 问题是我的弹出窗口的动画似乎是在一个无尽的循环,而鼠标是在李 我得到了很多li元素,我做了一个过程来给它们自动ID,在一个“for”循环中传递它们 我的代码重要编辑对不起 echo"<li id='".$li_id_name.$li_id."' onmouseover='showpopup(this)'>"; echo"<div id='".$li_id_name.$li

当鼠标在li元素上时,我试图显示一个弹出窗口

我的弹出窗口有一个动画(淡入可见,出现,然后出现)

问题是我的弹出窗口的动画似乎是在一个无尽的循环,而鼠标是在李

我得到了很多li元素,我做了一个过程来给它们自动ID,在一个“for”循环中传递它们

我的代码重要编辑对不起

echo"<li id='".$li_id_name.$li_id."' onmouseover='showpopup(this)'>";

    echo"<div id='".$li_id_name.$li_id."detail'>SOME TEXT</div>";

echo"</li>";

对不起,我的代码出错了,事实上,弹出窗口是li元素中的一个div

只需使用mouseenter而不是mouseover

html LI1 LI2 LI3 js

试试看这个

像这样试试

HTML:

<ul>
    <li class="assignenter">LI1</li>
    <li class="assignenter">LI2</li>
    <li class="assignenter">LI3</li>
</ul>
jQuery/JS

$("li.assignenter").on( "mouseenter", function() {
  $(this).css({
     "background-color": "red",
      "font-weight": "bolder"
  });
}).on( "mouseleave", function() {
       var styles = {
                      backgroundColor : "green", 
                      fontWeight: ""
                     };

$(this).css( styles );

});

希望这能解决您的问题

问题是我得到了大约300个li元素,所以我应该为每个元素编写代码?不,只需为
li
编写代码一般来说,
$(“li”)
只要给li元素一个类就可以了,如果您需要分配给mouseenter事件。像
  • 然后为类选择元素(我编辑了回复以向您展示),那么我应该如何为我的动画获取li的ID?在我的代码中,'#'+$(obj).attr('id')+“detail”'表示鼠标在showpopup函数中的'obj'参数帮助下经过的li的id不,不要只使用li。它将应用于页面中的每个标记。对要选择的li使用后代选择器抱歉,但我说过:要编辑的弹出窗口位于li元素内部。再看看我的帖子
    <ul>
        <li class="assignenter">LI1</li>
        <li class="assignenter">LI2</li>
        <li class="assignenter">LI3</li>
    </ul>
    
    .assignenter{
        display:block;
        padding:20px;
        background:green;
        color:#fff;
    }
    
    $("li.assignenter").on( "mouseenter", function() {
      $(this).css({
         "background-color": "red",
          "font-weight": "bolder"
      });
    }).on( "mouseleave", function() {
           var styles = {
                          backgroundColor : "green", 
                          fontWeight: ""
                         };
    
    $(this).css( styles );
    
    });