0

私は正常に動作するこのドロップダウン コードを持っています。それは単純な表示を行います。しかし、slideDown のような単純な jQuery 効果を追加したいと思います。それをどのように追加しますか?

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 関数を次のように置き換えます。 [speed] には、効果に「slow」、「fast」、「normal」、またはミリ秒数を使用できます。

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

次の 2 つの関数を変更してみてください。

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 に答える
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');

フェードインとフェードアウトは、必要に応じて任意の効果に変更できます。

于 2012-07-23T16:53:53.840 に答える