Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度js动画以滚动到视口顶部_Javascript_Angularjs - Fatal编程技术网

Javascript 角度js动画以滚动到视口顶部

Javascript 角度js动画以滚动到视口顶部,javascript,angularjs,Javascript,Angularjs,我不熟悉angular,并且尝试做一些已经在Jquery中工作的事情。我不想同时使用jquery和angular,只想用angular编写代码,需要在指令中使用它的帮助 // Calculate the current scroll position... scrTop = (window.scrollY || window.pageYOffset); newTop = $elemt.offset().top - 20; //$elemt: an Object repr

我不熟悉angular,并且尝试做一些已经在Jquery中工作的事情。我不想同时使用jquery和angular,只想用angular编写代码,需要在指令中使用它的帮助

// 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);
//计算当前滚动位置。。。
scrTop=(window.scrollY | | window.pageYOffset);
newTop=$elemt.offset().top-20;
//$elemt:表示jQuery所选页面元素的对象。
diff=newTop-scrTop;
如果(数学绝对值(差值)>20){
newScrTop=scrTop+diff;
//其中,与顶部导航中的元素对应的div id的NAV_高度
如果(差异<0)newScrTop-=导航高度;
如果(newScrTop<0)newScrTop=20;
jQuery('html,body').animate({scrollTop:newScrTop+'px'},1000);

Angular基于jQuery(jqLite)的轻量级版本
因此,您可以简单地在angular中使用代码,即使您从页面中删除显式jQuery导入

我使用的是一个指令,并且希望使用指令中的代码。哦,我明白了,那么当您希望触发代码时?单击一下?您可以简单地创建一个angular指令,将代码放在link函数中并使用direct代码本身是角度兼容的。我得到了偏移量的错误。比如说。偏移量不是一个尝试var$el=element[0];var-elscrolltopooriginal=$($el.offset()。top-10元素[0]是什么?通常如果你做了$(el)。偏移量应该可以工作