2017-11-18 112 views
0

海iam試圖將懸停在動態圖像必須顯示動態股利,如果刪除鼠標div必須隱藏,如果我在圖像div上懸停後需要保持可見,如果我結束後的div從div中移出它必須被隱藏我試過這樣的東西,但沒有按預期工作,如果我在圖像div出現,如果我將鼠標移出標記在那裏它隱藏div一旦我刪除鼠標無法使用選項在div中,如果我將鼠標放在div中,一旦我從圖像中移除鼠標div不關閉,對於這種情況下的解決方案,不好的英語感到抱歉?javascript懸停動態失敗

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>

回答

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供您參考。

+0

謝謝你的努力,但不能正常工作。 –

+0

嘗試增加setTimeout中的超時時間。現在它是2000年。它可能工作。 –