显示隐藏问题HTML code!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.
显示隐藏问题
- HTML code
<!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></title><style> body{ margin:0; padding:0; font-size:12px; background:#fff} ul, li{ margin:0; padding:0; list-style-type:none} .main{ width:300px; margin:auto} .list{ width:300px; float:left} .list li{ width:100px; height:100px; float:left; margin:20px; background-color:#06C} .windows{ width:200px; height:200px; display:none; float:left; background-color:#F90; position:relative; left:40px; margin-top:-80px; z-index:9999}</style></head><body><div class="main"> <ul id="list" class="list"> <li></li> <li></li> </ul> <div id="windows" class="windows"></div></div></body><script src="js/jquery-1.6.4.min.js" type="text/javascript"></script><script type="text/javascript"> $(function(){ $("#list li").each(function(i,n){ $(n).mouseover(function(){ $("#windows").fadeTo(100,1); }).mouseout(function(){ $("#windows").fadeTo(100,0); }) }); })</script></html>复制代码就可以运行,现在的问题是当鼠标移入li(蓝色区域),windows(黄色区域)就显示,
当鼠标移开li(蓝色区域),windows(黄色区域)就隐藏, 这里是基本,下面才是问题
当鼠标从li(蓝色区域)移到windows(黄色区域),要求windows(黄色区域)不要消失,谢谢各位啦
[解决办法]
- HTML code
<script type="text/javascript"> $(function(){ $("#list li").each( function() { $(this).mouseover( function() { $("#windows").fadeTo(100, 1); }).mouseout( function(event) { if (event.relatedTarget.id != 'windows') $("#windows").fadeOut(100, 0); }); $("#windows").mouseout( function(event) { if (event.relatedTarget.nodeName != 'LI') $(this).fadeOut(100, 0); }); }); })</script>
[解决办法]
我猜楼主不但想移动到window上去让它不消失,也同时希望从window上移开之后它也消失,所以我帮楼主改动和加了一些代码
- JScript code
$(function() { $("#list li").each(function(i, n) { $(n).mouseover(function() { $("#windows").stop().fadeIn(100);//fadein 代替fadeto,效果一样,简单一些 }).mouseout(function() { $("#windows").stop().fadeOut(500); //fadeout 代替fadeto }) }); $("#windows").mouseover(function() { $(this).stop().fadeTo(0, 1);//立即显示 }).mouseout(function() { $(this).fadeOut(500);//渐出 }) }) 