Javascript 角度js动画以滚动到视口顶部
我不熟悉angular,并且尝试做一些已经在Jquery中工作的事情。我不想同时使用jquery和angular,只想用angular编写代码,需要在指令中使用它的帮助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
// 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)。偏移量应该可以工作