2016-01-07 2 views
0

Я новичок в угловом и пытаюсь сделать что-то, что уже работает в JQuery. Я не хочу использовать jquery и угловатые вместе и хотел просто кодировать его в угловом формате и нуждаться в некоторой помощи, используя это в директиве.угловой js анимировать для прокрутки вверху окна просмотра

// Calculate the current scroll position... 
    scrTop = (window.scrollY || window.pageYOffset); 

    newTop = $elemt.offset().top - 20; 
    //$elemt: an Object representing a jQuery selected page element. 
    diff = newTop - scrTop; 

    if (Math.abs(diff) > 20) { 
     newScrTop = scrTop + diff; 
     //where NAV_HEIGHT of div id corresponding to the element in the top navigation 
     if (diff < 0) newScrTop -= NAV_HEIGHT; 
     if (newScrTop < 0) newScrTop = 20; 
     jQuery('html,body').animate({scrollTop: newScrTop + 'px'}, 1000); 

ответ

0

Угловой основана на облегченную версию JQuery (jqLite) , таким образом, вы можете просто использовать свой код в угловом, даже если вы удалите свой явный импорт JQuery со страницы

+0

Я использую директиву и хотел использовать код в директиве. – bumblebee

+0

О, я вижу, ну тогда, когда вы хотите, чтобы код срабатывал? по щелчку? Вы можете просто создать угловую директиву, поместить код внутри функции ссылки и затем использовать директиву на своих элементах DOM. Сам код угловой совместим –

+0

Я получаю ошибку для смещения. Says .offset не является функцией, пытающейся var $ el = element [0]; var elScrollTopOriginal = $ ($ el) .offset(). top - 10 – bumblebee