我怎样才能淡入淡出出现(使用.bind命令的列表?
问题描述:
这是我使用的代码,它是使上mousenter
列表显示在列表的标题。 的事情是,它似乎并。消失很突然我能做些什么,使这个平滑我怎样才能淡入淡出出现(使用.bind命令的列表?
非常感谢您的时间
<script type="text/javascript">
var timeout = 0;
var closetimer = 0;
var ddmenuitem = 0;
function jsddm_open()
{ jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').css('visibility', 'visible');}
function jsddm_close()
{ if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}
function jsddm_timer()
{ closetimer = window.setTimeout(jsddm_close, timeout);}
function jsddm_canceltimer()
{ if(closetimer)
{ window.clearTimeout(closetimer);
closetimer = null;}}
$(document).ready(function()
{ $('#jsddm > li').bind('mouseenter', jsddm_open)
$('#jsddm > li').bind('mouseleave', jsddm_timer)});
document.onclick = jsddm_close; </script>
答
是设置可见你的两行:?!
ddmenuitem = $(this).find('ul').css('visibility', 'visible');
ddmenuitem.css('visibility', 'hidden');
ŧ RY这个代替:
ddmenuitem = $(this).find('ul').show('slow');
ddmenuitem.hide('slow');
旁白:
你最后几行可能是这样。只是有点整洁:
$(document).ready(function(){
$('#jsddm > li').mouseover(jsddm_open)
$('#jsddm > li').mouseout(jsddm_timer)
$(document).click(jsddm_close);
});
甚至:
$(document).ready(function(){
$('#jsddm > li').hover(jsddm_open, jsddm_timer)
$(document).click(jsddm_close);
});
我看你是使用jQuery。请修正格式。 – 2010-02-02 13:02:12
这看起来像Javascript和JQuery - 如果是这样,你应该这样标记问题,以帮助人们了解他们在看什么。如果您正确设置了代码格式,它也会有所帮助,请参阅文本编辑区域上方的“101010”按钮 – 2010-02-02 13:02:56