此代碼必須在頁面上緩慢滾動。我正在使用AngularJS 1.4,並且在代碼集成方面存在問題。AngularJS指令DOM操作不起作用
更精確地說,如果我做一個簡單的JS源文件與此代碼,它的工作原理非常好,沒有任何問題。但我讀到DOM操作必須保持指令。問題是,如果我使用鏈接函數(scope,element,attrs)在我的指令中進行集成,我的代碼將無法正常工作。
我試圖把它放在angular.run()函數和angular.controller()函數,但同樣的副作用。
我該如何將此代碼集成到我的角度結構中?
PS:此代碼必須在另一個處理之前運行。
function changeActiveMenu(targetTag) {
var rmClass = $('[name="li-menu"]');
var addClass = $('#' + targetTag);
rmClass.removeClass('active');
addClass.addClass('active');
}
function scrollToTag(targetTagId) {
var targetTag = $('[id="'+ targetTagId +'"]');
$('html, body').animate({ scrollTop: targetTag.offset().top }, 'slow');
}
$window.onload = function() {
$('[name=home-page]').click(function(){
scrollToTag('home');
changeActiveMenu('li-home-page');
});
$('[name=search-sal]').click(function(){
scrollToTag('search-for-salaries');
changeActiveMenu('li-search-sal');
});
$(window).bind("scroll", function() {
var sec1 = $("#home").offset().top;
var sec2 = $("#search-for-salaries").offset().top - 300;
if ($(this).scrollTop() >= sec1){
changeActiveMenu('li-home-page');
}
if ($(this).scrollTop() >= sec2){
changeActiveMenu('li-search-sal');
}
});
$('.chgCursor').on('mouseover', function() {
$(this).addClass('cursor-pointer');
});
$('.chgCursor').on('mouseout', function() {
$(this).removeClass('cursor-pointer');
});
console.log(element);
};
感謝您的幫助,但我從我的代碼中發現問題:) – Doro