click и hover
Здравствуйте. Подскажите почему так работает
$('.tab').hover( function() { $(".tab-in_1").addClass("zoomIn"); }, function() { $(".tab-in_1").removeClass("zoomIn"); } );, а так нет $('.tab').on('click', function() { $(".tab-in_1").addClass("zoomIn"); }, function() { $(".tab-in_1").removeClass("zoomIn"); } ); |
Может подскажите как заставить работать?:)
|
Так не работает, в том то и дело.Вернее работает, но через раз.Кликнул-сработало,ещё раз кликнул -0.
|
Надо на каждый клик.А то есть несколько ссылок на одной стр. и анимация срабатывает через ссылку.
|
Есть 4 ссылки для табов
<li><a class="tab" href="#tab-mus">Музыка</a></li> <li><a class="tab" href="#tab-bis">Бизнесс</a></li> <li><a class="tab" href="#tab-pol">Политика</a></li> <li><a class="tab" href="#tab-mov">Кино</a></li> <div id="tab-mus" > <div id="tab-in_1 animated" ></div> </div> ............ Щёлкаю на ссылку, открывается див таба, в нём срабатывает анимация,но что бы сработала анимация на следующем табе приходится два раза кликнуть. При первом не срабатывает. |
Сори,ошибся.Там не id="tab-in_1, а class="tab-in_1", если про это.
|
Да, класс у всех этих дивов один, а дивов по одному в каждом табе.
|
<li><a class="tab" href="#tab-mus">Музыка</a></li> <li><a class="tab" href="#tab-bis">Бизнесс</a></li> <li><a class="tab" href="#tab-pol">Политика</a></li> <li><a class="tab" href="#tab-mov">Кино</a></li> <div id="tab-mus" > <div class="tab-in_1 animated" ></div> </div> <div id="tab-pol" > <div class="tab-in_1 animated" ></div> </div> <div id="tab-mov" > <div class="tab-in_1 animated" ></div> </div> <div id="tab-bis" > <div class="tab-in_1 animated" ></div> </div> $('.tab').on('click', function() { $('.tab-in_1').toggleClass('zoomIn'); }); |
Открывашка 231
ureech,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .tab-in_1.zoomIn { height: 100px; background: #FFCC00; display: block; } .animated { transition: all 1s ease-in-out; } .tab-in_1 { height: 0px; overflow: hidden; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"> </script> <script> $(function() { $('.tab').on('click', function(event) { event.preventDefault(); var id = this.getAttribute('href') $('.tab-in_1').not($('.tab-in_1', id).toggleClass('zoomIn')).removeClass('zoomIn') } ); } ); </script> </head> <body> <ul> <li> <a class="tab" href="#tab-mus">Музыка</a> </li> <li> <a class="tab" href="#tab-bis">Бизнесс</a> </li> <li> <a class="tab" href="#tab-pol">Политика</a> </li> <li> <a class="tab" href="#tab-mov">Кино</a> </li> </ul> <div id="tab-mus"> <div class="tab-in_1 animated"> Музыка </div> </div> <div id="tab-pol"> <div class="tab-in_1 animated"> Политика </div> </div> <div id="tab-mov"> <div class="tab-in_1 animated"> Кино </div> </div> <div id="tab-bis"> <div class="tab-in_1 animated"> Бизнесс </div> </div> </body> </html> |
Большое спасибо,рони, работает. Теперь такой вопрос. Если я добавляю в таб, ещё один эллемент с другим класом
<div id="tab-pol"> <img class="tab-img animated" src="" /> <div class="tab-in_1 animated"> Политика </div> </div> и дописываю в код $(function() { $('.tab').on('click', function(event) { event.preventDefault(); var id = this.getAttribute('href') $('.tab-in_1').not($('.tab-in_1', id).toggleClass('zoomIn')).removeClass('zoomIn'); $('.tab-img').not($('.tab-img', id).toggleClass('fadeInLeft')).removeClass('fadeInLeft') } ); } ); то в диве анимация работает как надо, а вот в img срабатывает только по одному разу в каждом табе.Повтор требует перезагрузки страницы. Пробовал сделать так <div id="tab-pol"> <img class="tab-anim fadeInLeft" src="" /> <div class="tab-in_1 tab-anim zoomIn"> Политика </div> </div> $(function() { $('.tab').on('click', function(event) { event.preventDefault(); var id = this.getAttribute('href') $('.tab-anim').not($('.tab-anim', id).toggleClass('animated')).removeClass('animated') } ); } ); Но так в img анимация вообще не работает. |
Часовой пояс GMT +3, время: 09:47. |