【问题标题】:javascript hover dynamic failsjavascript悬停动态失败
【发布时间】:2017-11-18 13:22:59
【问题描述】:

我试图将悬停在动态图像中必须显示一个动态 div,如果删除鼠标 div 必须隐藏,如果我在悬停在图像上后移到 div 如果我从图像移出 div 需要保持可见div 它必须被隐藏我尝试过这样的事情,但没有按预期工作,如果我在图像 div 出现如果我在那里放置 mouseout 标签它隐藏 div 一旦我移除鼠标无法使用 div 中的选项,如果我将鼠标从图像中移除后 div 没有关闭,那么对于这种情况的解决方案,抱歉英语不好?

  function GoView_respond(id){
      console.log('hovering');
      document.getElementById("pending_req_"+id).style.display="block";
    }

     var cl=0;

  function ExitView_respond(id){
     console.log('not hovering');
    if(cl!=1){
     document.getElementById("pending_req_"+id).style.display="none";
    }
 }
<a onmouseover="GoView_respond('1');" onmouseout="ExitView_respond_one('1');">over_here</a>
          <div class="respond_request" style="display:none;" id="pending_req_1" >
                <p class="user_details" onmouseout="ExitView_respond('1');">asdfasdfasfsdffsadfsadfasf</p>
          </div>

【问题讨论】:

    标签: javascript php ajax hover


    【解决方案1】:

    以下代码可能有助于解决您的问题:

    Javascript 代码:

        function GoView_respond(id){
          console.log('hovering');
          document.getElementById("pending_req_"+id).style.display="block";
          cl = 1;
        }
    
         var cl=0;
    
      function ExitView_respond(id){
         console.log('not hovering');
        if(cl!=1){
         cl=0;
          document.getElementById("pending_req_"+id).style.display="none";
        }
     }
    
    function GoView_respond_one(id) {
    
        setTimeout(function() {
          if(cl == 1) {
             cl = 0;
            document.getElementById("pending_req_"+id).style.display="none";
          }
        }, 2000);
      }
    }
    

    Html代码如下

    <a onmouseover="GoView_respond('1');" onmouseout="GoView_respond_one('1');">over_here</a>
              <div class="respond_request" style="display:none;" id="pending_req_1" >
                    <p class="user_details" onmouseover="GoView_respond('1');" onmouseout="ExitView_respond('1');">asdfasdfasfsdffsadfsadfasf</p>
              </div>
    

    Demo Link供您参考。

    【讨论】:

    • 尝试增加setTimeout中的超时时间。现在是 2000 年。它可能会起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多