страница здесь: http://webpages.marshall.edu/~glasser1/jquery.html
Я пытаюсь повторить старый стиль входа на страницу Twitter. Если пользователь нажимает «войти», он должен открыть поле для входа, а если он снова нажмет «войти», он должен скрыться. Кроме того, если пользователь щелкает внутри поля «вход в систему», это нормально, и поле должно оставаться, но если пользователь нажимает ВНЕ коробки, оно должно скрыться.
Что я не могу объяснить, так это то, что если ваш первый щелчок - это текст «Войти», а второй щелчок - это поле «Вход», поле скрывается, когда это не должно быть. однако это происходит только в том случае, если это ваши первые два клика. После этих начальных кликов все работает как задумано.
Вот код:
$("#logoncontent, #loginerror, #success").hide();
$(window).load(function(){
//click "sign in" to toggle login box
$("#signincontainer").click(function(e){
$("#logoncontent").slideToggle(400);
//stop prop from reaching parents up dom tree
e.stopPropagation();
// return false so that the click of "sign in" doesn't also trigger the $(window).click function below
return false;
});
//if there is a click in the window
$(window).click(function(){
//if that click in the window was INSIDE of the box, break out of this function
$("#logoncontent").click(function(){
//breaking out of function
return false;
});
//if the click was outside of box, slide content up
$("#logoncontent").slideUp(400);
});
});
Опять же, вы можете проверить страницу здесь: http://webpages.marshall.edu/~glasser1/jquery.html
Заранее спасибо, и если вы не можете воспроизвести ошибку, дайте мне знать. Как я уже сказал, это работает, если это не ваши первые два клика.
Боб Г