Как сдвинуть div, нажав в любом месте на странице

0

У меня есть div. который я делаю слайд вверх и сползаю функцией jquery, функция myjquery

<script type="text/javascript">
    jQuery(window).load(function () {

        $("#nav > li > a").click(function () { // binding onclick
            if ($(this).parent().hasClass('selected')) {
                $("#nav .selected div div").slideUp(700); // hiding popups
                $("#nav .selected").removeClass("selected");
            } else {
                $("#nav .selected div div").slideUp(400); // hiding popups
                $("#nav .selected").removeClass("selected");

                if ($(this).next(".subs").length) {
                    $(this).parent().addClass("selected"); // display popup
                    $(this).next(".subs").children().slideDown(200);
                }
            }
        });

    });
</script>

и html

<ul id="nav">    
            <li><a href="#"><b>Login</b></a>
                <div class="subs">
                    <div>
                        <ul>
                            <table style="margin-right:12PX;width:200px;overflow:scroll;">
                            <tr style="width:70px"><td>Mobile Number</td></tr>
                           <tr> <td><asp:TextBox runat="server"  ID="TextBox1" CssClass="selectfield" Width="170px"/></td>
                            </tr><tr><td>Password</td></tr><tr><td><asp:TextBox runat="server" ID="TextBox2" TextMode="Password" Width="170px" CssClass="selectfield"  /></td></tr>
                            <tr style="height:5px;"><td></td></tr>
                            <tr><td>
                                &nbsp;<asp:Button ID="Button1" 
                                    runat="server" Text="Login" CssClass="btn" onclick="Button1_Click"  /></td></tr>
                                <tr><td style="color:Red;">
                                    <asp:LinkButton ID="LinkButton1" runat="server" CssClass="link">Forget Password</asp:LinkButton></td></tr>
                            </table>
                            </ul>

когда я нажимаю на логин, div sub сдвигается вниз и снова нажимает логин на слайд-шоу. он работает отлично. Я хочу, когда я нажму на login div, должен сдвинуться вниз. после, если щелкнуть в любом месте страницы, кроме <div>. <div> должен располагаться вверх.

Теги:

3 ответа

1
Лучший ответ

Проверьте эту рабочую скрипту: http://jsfiddle.net/WxcLV/10/
Вместо того, чтобы click попробуйте его с помощью click как mouseup ниже:

$('#loginButton').mouseup(function(login) {
    $('#loginBox').toggle();
    $('#loginButton').toggleClass('active');
});

$('#loginTable').mouseup(function() { 
    // to avoid hiding div 
    return false;
});
$(this).mouseup(function(login) {
    if(!($(login.target).parent('#loginButton').length > 0)) {
        $('#loginButton').removeClass('active');
        $('#loginBox').hide();
    }
});
  • 0
    Прасад Я пытаюсь это, но это не работает, Div слайд вверх и вниз, когда я нажимаю на логин
  • 0
    Я делаю это, изменяя имя целевого div, он работает, но не всегда hw, чтобы улучшить его, чтобы он работал всегда, когда я нажимаю на кнопку входа
Показать ещё 1 комментарий
1

Это будет работать

$(document).bind("click", function (event) {      
    if (!$(event.target).is('.subs') && $(event.target).closest('.subs').length==0) {
        $("#nav .selected div div").slideUp(700);
        $("#nav .selected").removeClass("selected");
    }
});

вам также нужно позаботиться, если вы нажали внутри div.

  • 0
    как вы видели мой HTML, я использую Div для входа в систему, я должен щелкнуть внутри Div, есть ли какой-либо метод, я нажимаю внутри Div ничего не происходит. В противном случае он работает нормально
  • 0
    что ты хочешь тогда? приведенный выше код будет скрывать ваш div при нажатии в любом месте документа, кроме самого div
Показать ещё 3 комментария
0

хорошо, у меня есть способ обойти это. Надеюсь, что он сработает для вас. Пожалуйста, возьмите контейнер Container или возьмите тег тела (размер которого таков, что он охватывает всю страницу, например, 100%) и добавьте его в onclick событие и в этом случае раздвинуть div.Take Уход за тем, что ваш контейнер Container или тег Body должен покрывать всю страницу, чтобы он выглядел так, как будто пользователь щелкает на любом месте на странице. это трюк

сообщите мне, помогает ли это или нет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню