Проблема с наложением JQuery Animation

0

Привет, у меня есть странная проблема, у меня есть анимация, которая открывается поверх веб-сайта, но после того, как она открывается, ни одна из ссылок, где работает надпись, не работает. Я создал jsfiddle, чтобы продемонстрировать эту проблему.

Скажи мне это!

    var removeWhenOpen = true; var done = false;
var timer0;
jQuery(document).ready(function() {
    $('#doors').hover(function() {
        jQuery('#door-left').stop().animate({left:-500}, 1500, function() { if (removeWhenOpen) $(this).remove(); done=true; });
        jQuery('#door-right').stop().animate({right:-500}, 1500, function() { if (removeWhenOpen) $(this).remove(); });
        var timer0 = setTimeout(function() {
            jQuery('#ladyonthelake').stop().animate({opacity:0}, 2000);
        }, 5);
    }, function() {
        jQuery('#door-left').stop().animate({left:0}, 250);
        jQuery('#door-right').stop().animate({right:0}, 250);
        if (!done) {
            if (timer0) clearTimeout(timer0);
            jQuery('#ladyonthelake').stop().fadeIn();
        }
    })
});


<div id="doors">
            <img src="http://theitentrepreneurs.com/temp/ladyonthelake.jpg" width="347" height="520" border="0" id="ladyonthelake" />
            <div id="door-left" class="door"><div class="inner"></div><img src="http://theitentrepreneurs.com/temp/doorleft.png" /></div>
            <div id="door-right" class="door"><div class="inner"></div><img src="http://theitentrepreneurs.com/temp/doorright.png" /></div>
        </div>

любая помощь будет принята с благодарностью, так как всегда моя спина со временем надвигается на стену, поэтому все, что угодно может предложить, было бы здорово!

Спасибо, Брайан

2 ответа

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

Ваша проблема заключалась в том, что двери div не удалялись после того, как анимация была завершена, что привело к тому, что элемент был абсолютно позиционирован над ссылками, препятствующими кликабельности.

Добавь это

jQuery('#door-left').stop().animate({left:-500}, 1500, function() { if (removeWhenOpen) $("#doors").remove(); done=true; });

скрипка: http://jsfiddle.net/gravitybox/fFaac/1/

3

Вы забыли удалить $('#doors').

Ещё вопросы

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