Есть блок и скрытый абзац. При щелчке по блоку абзац анимационно появляется. У анимации отображения есть метод stop со значениями 0,0(false, false). Но так же есть Условные операторы: if который не выполняется первый раз. В его теле тоже есть stop но, со значениями 1,1(true, true). Вопрос: почему даже если if не выполняется stop ведёт себя будто у него значение 1,1 ?
$(document).ready(function(){
$('.q1').click(function(){
if($(this).next().is(':visible')) // Это не выполняется т.к. Абзац ещё не виден
$(this).next().stop(true,true).slideUp(); // Это не выполняется т.к. Абзац ещё не виден
$(this).next().stop(0,0).slideToggle();//Так почему у stop ведёт себя будто у него значение true,true ?
});
});
*{
margin:0;
padding:0;
}
.q1{
width:50px;
height:50px;
background: red;
}
p{
width:150px;
height:300px;
background: black;
display:none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<div class="q1"></div>
<p></p>
Давайте разберемся, что происходит когда вы нажимаете 2 раза подряд по кнопке.
1 нажатие
.is(':visible'))
Тут у нас false
пропускаем .stop(true,true).slideUp();
.stop(0,0).slideToggle();
Абзац начинает появляться. Тут все понятно.
2 нажатие
.is(':visible'))
Тут у нас true
. Хоть абзац еще не весь появился, но он уже виден!
.stop(true,true).slideUp();
Прыгаем в конец анимации. И начинаем скрывать блок.
.stop(0,0).slideToggle();
Стопорим анимацию в самом начале и начинаем скрывать блок.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как подключить PHP скрипт к файлу HTML без вкраплений кода, чтобы код выполнялся при загрузке страницы?
Как сделать так чтоб выпадающее было поверх слайдера?
Верстал сайт и забыл что все время у меня % в браузере стоял 80(ctrl и два раза колесиком мыши на себя) теперь когда ставлю нормальный показ (100%)...
Необходимо извлечь все URL из атрибутов href тегов a в HTML страницеЯ попробовал воспользоваться регулярными выражениями: