2016-08-25 3 views
1

Как использовать метод .animate Jquery() на $ (это) для следующих целей:Jquery.animate() на WebKit фоне

background: -webkit-gradient(linear, left top, left bottom, from(#2d2d2d), to(#373737)) 

Я попытался с помощью:

$(this).css("background", "-webkit-gradient(linear, left top, left bottom, from(#d70000), to(#679938))"); 

Какие работает отлично, но я хочу, чтобы определить время, необходимое для перехода

ответ

0
@-webkit-keyframes changeBG { 
    0% { 
     background: -webkit-gradient(linear, left top, left bottom, from(#2d2d2d), to(#373737)); 
} 
50% { 
    background: -webkit-gradient(linear, left top, left bottom, from(#666), to(#737373)); 
} 
100% { 
    background: -webkit-gradient(linear, left top, left bottom, from(#2d2d2d), to(#373737)); 
} 

Я решил проблему с помощью -webkit-ключевых кадров и изменение класса в течение 200 мс. Если у кого-то есть идея, как связать -webkit-ключевые кадры непосредственно с Jquery, не меняя классы, напишите свой ответ. Кроме того, я понятия не имею, почему .animate() не работает. Я был бы благодарен, если у кого-нибудь есть ответ на этот вопрос

$(this).addClass('akt'); 
     setTimeout(function() { $(this).removeClass('akt'); }, 200); 
1

Используйте JQuery метод одушевленные следующим образом:

$(this).animate({"background": "-webkit-gradient(linear, left top, left bottom, from(#d70000), to(#679938))"}, 4000/* Your transition MS here, ex. 4000 */); 

Для получения дополнительной информации о одушевленного метод, нажмите here.

Если вы используете более низкую версию JQuery (ну, этот метод был выпущен начиная с версии 1.0.0, но некоторые версии может не поддерживает его), и метод одушевленные не работает, то это является альтернативой:

$(this).delay(4000).css("background", "-webkit-gradient(linear, left top, left bottom, from(#d70000), to(#679938))"); 
+0

Я не могу заставить его работать, используя приведенный выше код. Я использую JQuery 1.8.4, что с этим связано? – Alexander

+1

Попробуйте использовать: '$ (this) .delay (4000) .css (" background "," -webkit-gradient (линейный, левый верхний, левый нижний, от (# d70000), до (# 679938)) "); ' –

+0

не повезло, также попробовал: '$ (this) .addClass (" akt "); setTimeout (функция() {$ (this) .removeClass ("ak" ');}, 3000); ' – Alexander

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