2013-11-15 5 views
0

Я следил за указаниями от Justin Aguilar's Site, чтобы добавить некоторые анимации CSS на мой сайт. Это хорошо составлено и кажется довольно простым. Однако у меня возникла серьезная проблема с запуском анимации входа.Изменение видимости анимации CSS с помощью Javascript

Являясь довольно новым в этом отношении, я понимаю, что этот вопрос может быть абсолютно унаследованным, но я не сработал с ним в течение последних нескольких дней без успеха.

Чтобы создать вход, видимость элемента изначально установлена ​​на «скрытый». Затем javascript должен запускать анимацию, добавляя класс .pullUp, который заставляет элемент становиться видимым и анимационным. Это кажется довольно простым, но все мои элементы начинают анимацию, как только страница загружается, или они остаются невидимыми.

Я действительно мог бы вам помочь. Вот Link to the code on JFiddle.

<img src="img/apple.png" id="apple" class="pullUp" /> 

    <script= "text/css"> 

.pullUp{ 
    animation-name: pullUp; 
    -webkit-animation-name: pullUp; 

    animation-duration: 1.1s; 
    -webkit-animation-duration: 1.1s; 

    animation-timing-function: ease-out;  
    -webkit-animation-timing-function: ease-out;  

    transform-origin: 50% 100%; 
    -ms-transform-origin: 50% 100%; 
    -webkit-transform-origin: 50% 100%; 

    visibility: visible !important;    
    } 
</script> 

<script> 

$(window).scroll(function() { 
    $('#apple').each(function(){ 
    var imagePos = $(this).offset().top; 

    var topOfWindow = $(window).scrollTop(); 
    if (imagePos < topOfWindow+150) { 
     $(this).addClass(".pullUp"); 
    } 
    }); 
</script> 

В основном я просто нужен мой образ, чтобы стать видимым и анимации, когда изображение прокручивается.

Возможно, что исходные проблемы могут быть загрузочными платформами моего сайта, но я не понимаю, почему это произойдет. Также, пожалуйста, знайте, что я использую внешние таблицы стилей и просто включил весь код здесь для удобства. Любое понимание или помощь очень ценится!

ответ

0

I forked your JSFiddle

  1. Вы отсутствовали }); в конце вашего кода блока. Вот почему jQuery не работал.
  2. У вашего изображения был добавлен класс pullUp, поэтому анимация начиналась сразу.
+0

Первоначально у меня была правильная идея о том, что класс pullUp добавляется позже, но поскольку он не получилось (благодаря отсутствующим точкам с запятой) я сдался. По крайней мере, я знаю, что я не был полностью внедорожником, но все же тупой ошибкой. В следующий раз я обязательно проверю свои закрывающие скобки. Еще раз спасибо! – Nolakat

+0

@Nolakat Если ответ удовлетворительный, вы можете нажать стрелку слева от ответа, чтобы отметить его как правильно –

+0

@ Zeaklous Я попробовал, как только прочитал комментарии, но Overstack говорит мне, что мне еще нужны 15 очков репутации. Наверное, моя благодарность будет достаточной на данный момент :( – Nolakat

0

Я заметил в вашем CSS, где у вас есть поплавки, вы не указали позицию (то есть позиция: относительная или позиция: абсолютная). Это важно для этого типа вещей (редактирование: видимо, нет, как показано ниже).

После добавления в положение: по отношению к этим элементам, похоже, он работает, однако вам может потребоваться изменить анимацию, поскольку эффект кажется минимальным.

+0

Спасибо. Я указал позиции и анимация все еще работает. К сожалению, он запускается, как только я загружаю страницу. Часть javascript, которая должна запускать анимацию при прокрутке элемента, не работает. Как вы думаете, это что-то в коде JS? – Nolakat

+0

Скорее всего, хотя я только предполагаю. Я бы посмотрел на этот пример: http://jsfiddle.net/karalamalar/grnQA/ и попытался поиграть с этим. Этот код javacript: http://jsfiddle.net/dueWG/10/ также делает то же самое, что и выше, но обнаруживает для ie6/ie7 – GSimon

Смежные вопросы