在jquery菜单上添加slidedown事件

时间:2012-04-24 10:27:26

标签: jquery html

好的我有这段代码:

<html>
<head>
var timeout         = 0;
var closetimer      = 0;
var ddmenuitem      = 0;

function jsddm_open()
{   jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('#as').eq(0).css('visibility', 'visible');
bb = $(this).css("background","#0099FF");
}

function jsddm_close()
{
if(ddmenuitem)
ddmenuitem.css('visibility', 'hidden');
}

function jsddm_timer()
{   closetimer = window.setTimeout(jsddm_close, timeout);
bb = $(this).css("background","none");
}

function jsddm_canceltimer()
{   if(closetimer)
    {   window.clearTimeout(closetimer);
        closetimer = null;}}

$(document).ready(function()
{


$("#sinputbox").watermark("Search item here...");
$('#menu > li').bind('mouseover', jsddm_open);
$('#menu > li').bind('mouseout',  jsddm_timer);});

document.onclick = jsddm_close;

</head>
<body>
<div id="hmenu">
<ul id="menu">
    <li><a class="active" href="index.php">Home</a></li>
    <li><a href="gallery.php?name=gallery">Gallery</a>
    <ul id="as">
            <li><a href="gallery.php?name=clothing">Clothing</a></li>
            <li><a href="gallery.php?name=furniture">Furniture</a></li>
            <li><a href="gallery.php?name=householditems">Household-items</a></li>
            <li><a href="gallery.php?name=automotive">Automotive</a> </li>
            <li><a href="gallery.php?name=food">Food</a></li>
    </ul>
    </li>
    <li><a href="about.php">About</a></li>
    <li><a href="contact.php">Contact</a></li>
</ul>
</div>
</body>
</html>

现在,我打算在下拉菜单中添加一个幻灯片,但我不知道如何。我尝试在此函数中添加此行:“$('this').slideDown('slow');”:“function jsddm_timer()”但到目前为止没有任何工作。有人可以帮我这个吗?我对任何建议表示感谢。

2 个答案:

答案 0 :(得分:1)

试试这个JSFiddle并告诉你是否需要这样的功能:

更新链接:

http://jsfiddle.net/qFEJh/1/

这是更新的代码

function jsddm_open()
{
    $(this).find('#as').slideDown('slow');
    bb = $(this).css("background","#0099FF");
}

function jsddm_close()
{
    $(this).find('#as').slideUp('slow');
}

$(document).ready(function()
{
    $('#menu > li:has(ul)').hover(jsddm_open,jsddm_close);
});

document.onclick = jsddm_close;

答案 1 :(得分:0)

在你的情况下不会是:

$(this).find('#as').eq(0).slideDown('slow');

假设你把它放在jsddm_open函数中。