2014-01-24 4 views
0

Я хочу активировать эту анимацию, когда страница html с этим кодом загружается, и когда я нажимаю на другую вкладку страницы Ajax, я хочу отключить ее, потому что в данный момент анимация анимации div на каждой странице ajax и я хочу загрузить это только на конкретную страницу.Отключить анимацию на другой странице

Как это возможно?

$(window).scroll(function() { 
if ($(this).scrollTop() < 200) { 
    $(".example").animate({ 
     top: "0px" 
    }, { 
     duration: 50, 
     easing: 'easeInOutCubic' 
    }); 
} else { 
    $(".example").animate({ 
     top: "-50px" 
    }, { 
     duration: 50, 
     easing: 'easeInOutCubic' 
    }); 
} 
}); 
+0

Просто добавьте скрипт на нужную страницу. –

+0

nope html загружаются через ajax в один файл html, поэтому это невозможно:/ – user3191542

+0

Добавьте переменную на свою страницу, которую вы загружаете через AJAX 'var enableAnimation = false' и проверяете переменную в' '$ (window) .scroll 'функция? –

ответ

0

Если вы используете хэши для вашей страницы Ajax вы можете легко проверить это, чтобы увидеть, если вы находитесь на странице перед выполнением анимации, как это:

$(window).scroll(function() { 
var hash = window.location.hash; 
if(hash == "foobar"){ 
    if ($(this).scrollTop() < 200) { 
     $(".example").animate({ 
      top: "0px" 
     }, { 
      duration: 50, 
      easing: 'easeInOutCubic' 
     }); 
    } else { 
     $(".example").animate({ 
      top: "-50px" 
     }, { 
      duration: 50, 
      easing: 'easeInOutCubic' 
     }); 
    } 
} 
}); 

Обратите внимание, что вы должны сделать убедитесь, что после изменения страницы. Вы также меняете хеш:

window.location.hash = "foobar"; 
+0

Удивительно! Огромное спасибо!!! :) – user3191542

+0

Как я могу определить больше одного хэша для этой анимации? if (hash == "foobar", "example2") это не работает:/ – user3191542

+0

вы бы сделали это с помощью простого or-statement: 'if (hash ==" foobar "|| hash ==" example2 ")' –

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