0

我有这个工作正常的下拉代码,它做了一个简单的显示。但是,我想添加一个简单的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;

谢谢。

4

4 回答 4

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]);
}
于 2012-07-23T16:56:30.450 回答
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;
于 2012-07-23T16:53:38.423 回答
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 可以更改为您想要的任何效果。

于 2012-07-23T16:53:53.840 回答
0

尝试更改这两个功能:

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
ddmenuitem = $(this).find('ul').slideDown();}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.slideUp();}
于 2012-07-23T16:54:18.743 回答