2012-04-14 4 views
0

AJAX 호출을 통해 데이터베이스에서 알림을 검색하는 알림 설정이 있습니다.jQuery UI 효과 및/또는 '라이브'제거 클래스가있는 setInterval

알림이 새로운 경우 요소가 포함 된 알림에 jQuery UI "강조 표시"효과를 추가하려고합니다.

알림 유형이 다양합니다.

알림이로드 될 때 알림 데이터가 포함 된 요소는 필요한 경우 새 클래스 "flashAlert"를 제공합니다. 그러면 아래의 기능이 실행됩니다. 클래스 "flashAlert는"(A '명확한 통지'기능 수행) 요소에서 제거 된 경우

function startAlert() { // this function makes alerts flash 
    setInterval(function() { 
     $('.flashAlert').effect("highlight", {}, 2500); 
    }, 2500);  
}; 

이는, 그러나, 효과는 여전히 적용되는 작품.

"clear notifications"함수에서 clearInterval을 호출 할 수 있다는 것을 알고 있지만이 경우 하나의 함수가 아닌 모든 알림에 대해 별도의 간격 함수를 설정해야합니다.

jQuery에 의해 추가 된 요소에서 효과가 발생하는 데 어려움을 겪고 있지만 효과를 제거하는 것과 관련하여 다른 질문을 본 적이 있습니다.

페이지를 다시로드하면 페이지가 지워지지만 원하는 것은 아닙니다. 당신이 당신의 명확한 통지에 중지 할 때

답변

0
function startAlert(){ 
    $('.flashAlert').effect("highlight", {}, 2500, startAlert); 
} 

이 그리고, 단순히 수행

$('.flashAlert').removeClass("flashalert").stop(); 
+0

는 내가 거기'setInterval' 필요하지 않은 사실을 좋아 반복 점멸의 우수한 단순화, 하지만 여전히 제대로 지워지지는 않습니다 .--( –

+0

@JamieHartnoll '$ ('. flashAlert '). removeClass ("flashalert"). stop (true, true);'then – Esailija

+0

지연된 일은 유감스럽게 생각합니다. 나는 생각한다. –