0

好的,我有这个代码:

<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()”但到目前为止没有任何效果。有人可以帮我解决这个问题吗?我对任何建议都持开放态度,谢谢。

4

2 回答 2

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;
于 2012-04-24T10:51:21.610 回答
0

在你的情况下,它不是:

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

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

于 2012-04-24T10:30:54.790 回答