在此下拉列表代码中添加jquery效果

时间:2012-07-23 16:51:33

标签: jquery css drop-down-menu

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

答案 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();}