Как я могу заставить это не двигаться и загружаться только под ним? - PullRequest
0 голосов
/ 23 апреля 2010

В настоящее время, если вы щелкнете по пункту 2, откроется поле ввода, а также расширится <li>. Я не хочу, чтобы он изменял размер <li>, и я хочу, чтобы он открывался прямо под пунктом 2. Как я могу добиться этого? Кроме того, я хочу закрыть его по щелчку после его открытия, но мой jQuery, похоже, не работает.

<html>
<head>
<script src="http://code.jquery.com/jquery-1.4.2.js" type="text/javascript"></script>
<script>
    $(document).ready(function(){
        $('#menu').click(
            function() {  $('fieldset', this).slideDown(); }, 
            function() {  $('fieldset', this).slideUp(); });
    });
</script>

<style>
ul, li {
    float: right;
    display: inline;
    margin: 0px
    padding: 0px

}

</style>
</head>
<body>
<ul>
    <li>item 1  </li>
    <li id="menu">Item 2 
    <fieldset style="display: none;">
        <form>
            <input type="text">
        </form>
    </fieldset>


    </li>
    <li>Item 3</li>
</ul>



</body>
</html>

Ответы [ 2 ]

1 голос
/ 23 апреля 2010

Чтобы скрыть поле, замените click в вашем коде на toggle.

0 голосов
/ 23 апреля 2010

Это изменение должно сработать.

<li id="menu"> <div style="display:block">Item 2 </div>

    <fieldset id="field1" style="display: none;">
        <form>
            <input type="text">
        </form>
    </fieldset>


</li>

Чтобы закрыть его, команда jquery будет

$('#menu').click(function(){
    $('#field1').hide();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...