http://jsfiddle.net/motocomdigital/uTV5k/18/
Я обновил с помощью переключателя вместо щелчка - хотя все еще не могу получить плавные чередования.
У меня здесь смесь javascript и jquery.
Я пытаюсь получить элемент, поэтому при нажатии на него запускается анимация (открытая). А после второго щелчка анимация запускается до начальной точки (закрыть).
Но по какой-то причине я не могу заставить работать чередование по второму клику. Может кто-нибудь посоветовать, что я делаю не так? Спасибо
$('.home-module').toggle
- это бит, с которым у меня проблемы.
Смотри скрипт ниже ...
$(window).load(function(){
$(window).bind("orientationchange resize", function(e) {
$('.home-module').each(function() {
var homeModule = $(this).height(),
homeTitle = $(this).find('.home-title-button').outerHeight(),
homeStart = homeModule - homeTitle,
homeOpen = false;
$(this).find('.home-title').css("top", homeStart + "px");
$('.home-module').toggle(
function() {
// first alternation
$(this).find('.home-title').animate({ top: homeStart + "px" });
},
function() {
// second alternation
$(this).find('.home-title').animate({ top: 0 + "px" });
}
);
});
}).trigger("resize");
});
Кажется, это действительно не отвечает на анимацию при нажатии, а второй щелчок / чередование действительно задерживается и делает странные вещи?
Спасибо
Мой оригинальный код ...
$(window).load(function(){
$(window).bind("orientationchange resize", function(e) {
$('.home-module').each(function() {
var homeModule = $(this).height(),
homeTitle = $(this).find('.home-title-button').outerHeight(),
homeStart = homeModule - homeTitle,
homeOpen = true;
$(this).find('.home-title').css("top", homeStart + "px");
$('.home-module').on('click', function () {
if (homeOpen) {
$(this).find('.home-title').animate({ top: homeStart + "px" });
homeOpen = false;
} else {
$(this).find('.home-title').animate({ top: 0 + "px" });
homeOpen = true;
}
});
});
}).trigger("resize");
});