jquery 向右展开 <li> 向左折叠

标签 jquery css menu navigation

尝试让菜单 li 项向右展开,在 click 事件中显示搜索表单,然后在单击搜索表单本身之外的任何内容时再次关闭。我已经设法让扩展工作,但无法弄清楚崩溃。我知道已经有很多关于此的问题,但我觉得我太累了,无法理解它……感谢任何帮助。

更新:

设法通过 mouseleave() 事件获得效果:http://jsfiddle.net/C3YCP/31/

但还是出于好奇,我无法通过某种点击事件让它崩溃?

HTML:

<li id="search">
    <a href="#" title="Search" id="searchA">Search</a>
    <div id="searchWrap">
        <form> 
            <fieldset> 
                <input type="text">  
            </fieldset>
        </form>
    </div>
</li>

JS:

$("#search").click (function() {
    $(this).animate({width:'225px'},200).css("background-color","#e5e6e7");
    $("#searchA").animate({width:'180px'},200)','color':'#4d4d4d'});
    $('#searchWrap').show("slide", 200);
    $("#search input").css({'background-color':'#fff'});
    });
$("#searchWrap").click(function() { 
return false;
});

CSS:

#search { width: 112px; }
#searchA { color: #fff; padding: 18px 35px 53px 9px; } 
#searchWrap { position: absolute; top: 53px; left: 10px; display: none; }
#search form { padding: 0 10px 0 0; }
#search fieldset { border: none; }
#search input { width: 200px; height: 20px; border: 1px solid #fff; background-color:#4D4D4D; outline: none; color: #4D4D4D; padding: 0 0 0 3px;}

最佳答案

试试这个:

$("#search").click(function() {
    $(this).animate({width:'225px'},200).css("background-color","#e5e6e7");
    $("#searchA").animate({width:'180px'},200).css({'background-image':'url(images/nav-searchgrey.png)','color':'#4d4d4d'});
    $('#searchWrap').show("slide", 200);
    $("#search input").css({'background-color':'#fff','border-color':'#BBBDBF'});

    $('body :not(#searchWrap)').one(function() {
      // Hide search.
    });
});

关于jquery 向右展开 <li> 向左折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8484195/

相关文章:

java - JMenuBar 未显示

javascript - jQuery/Javascript : setInterval check if DOM element exists?

javascript - 使用 ng-angular 动态创建的元素不会触发 onClick 事件

javascript - Css 逐像素变换 Y

javascript - 用js改变css类

java - 使 JComboBox 表现得像一个带有分割的菜单

jquery - 垂直对齐中心在 Bootstrap 容器内不起作用

javascript - 使用 Bootstrap Wizard 将数据发布到给定 URL

c# - 获取c#函数值并在html表中显示

css - 如何制作子菜单的子菜单项