2012-08-11 170 views
2

以下代碼允許用戶在鏈接上滾動時顯示div。問題是,當用戶滾動鏈接時div不會消失。無論如何,我們可以做到這一點,當用戶滾動鏈接的div消失,但用戶仍然能夠把他們的光標下來,並與在div中的項目進行交互.....任何幫助將不勝感激。問題與DIV顯示/隱藏代碼?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Untitled Document</title> 
<script type='text/javascript'> 
/* <![CDATA[ */ 
document.getElementsByClassName = function(){ 
    if(arguments.length == 1) 
    arguments[1]='*'; 
    var retnode = []; 
    var myclass = new RegExp('\\b'+arguments[0]+'\\b'); 
    var elem = this.getElementsByTagName(arguments[1]); 
    for(var i = 0; i < elem.length; i++){ 
    var classes = elem[i].className; 
    if(myclass.test(classes)) 
     retnode.push(elem[i]); 
    }; 
    return retnode; 
}; 
window.onload=function(){ 
    var x = document.getElementsByClassName('HoverMe', 'a'); 
    for(var i = 0; i < x.length; i++){ 
    x[i].onmouseover=function(){ 
     var m = document.getElementsByClassName('HoverMe', 'a'); 
     var n = document.getElementsByClassName('showMe', 'div'); 
     for(var i = 0; i<m.length; i++){ 
     n[i].style.display = (m[i]==this)?'block':'none'; 
     }; 
    }; 
    }; 
    x = document.getElementsByClassName('showMe','div'); 
    for(var i = 0; i < x.length; i++){ 
    x[i].style.display = 'none'; 
    }; 
}; 
/* ]]> */ 
</script> 

</head> 

<body> 
<a class='HoverMe'>link 1</a><a class='HoverMe'>link 2</a> 
<div class='showMe'>stuff 1</div><div class='showMe'>stuff 2</div> 
</body> 
</html> 

回答

2

添加mouseout函數。這裏

x[i].onmouseout=function(){ 
    var m = document.getElementsByClassName('HoverMe', 'a'); 
    var n = document.getElementsByClassName('showMe', 'div'); 
    for(var i = 0; i<m.length; i++){ 
    n[i].style.display = 'none'; 
    }; 
}; 

退房小提琴:添加以下代碼你x[i].mouseover函數調用下http://jsfiddle.net/babcN/

+0

這是真棒!但無論如何,我們可以這樣做,以便當用戶將鼠標移到出現的div上時,它們可以與該div上的內容進行交互,而不會消失? – 2012-08-11 18:52:19