我有这个下拉代码,工作正常,它做一个简单的显示。但是,我想添加一个简单的jQuery效果,如slideDown。我该如何添加?
var timeout = 500;
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('mouseover', jsddm_open)
$('#jsddm > li').bind('mouseout', jsddm_timer)});
document.onclick = jsddm_close;
感谢。
答案 0 :(得分:2)
使用以下内容替换jsddm_open和jsddm_close函数: 对于[速度],您可以使用“慢速”,“快速”,“正常”或效果的毫秒数。
function jsddm_open()
{
jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').show([speed],[callback]);
}
function jsddm_close()
{
if(ddmenuitem)
ddmenuitem.hide([speed]);
}
答案 1 :(得分:0)
试试这个:
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function jsddm_open()
{ jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').slideDown();}
function jsddm_close()
{ if(ddmenuitem) ddmenuitem.slideUp();}
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('mouseover', jsddm_open)
$('#jsddm > li').bind('mouseout', jsddm_timer)});
document.onclick = jsddm_close;
答案 2 :(得分:0)
如何更改此行:
ddmenuitem = $(this).find('ul').css('visibility', 'visible');
有这样的事情:
ddmenuitem = $(this).find('ul').fadeIn('slow');
以及这一行:
if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');
有这样的事情:
if(ddmenuitem) ddmenuitem.fadeOut('slow');
fadeIn和fadeOut可以更改为您想要的任何效果。
答案 3 :(得分:0)
尝试更改这两个功能:
function jsddm_open()
{ jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').slideDown();}
function jsddm_close()
{ if(ddmenuitem) ddmenuitem.slideUp();}