2012-04-16 8 views
0

요소를 업데이트 할 때 배경색을 변경하려고합니다.jquery를 사용하여 업데이트 할 때 배경색 변경

서버에서 응답이 돌아 오면 초당 요소의 배경색을 변경 한 다음 원본으로 다시 변경하고 싶습니다. 배경색을 변경할 수는 있지만 동일한 호출에서 다시 변경할 수는 없습니다.

$.each(theArray,function(intIndex,objValue){ 
    $("#" + objValue.id).parent().css('background-color','red'); 
}); 
//NEED TIMING EVENT FOR DELAY 
$.each(theArray,function(intIndex,objValue){ 
    $("#" + objValue.id).parent().css('background-color','transparent'); 
}); 

첫 번째 루프는 잘 작동하지만 난 다른 하나는 동작하지 않습니다 : 여기에

는 내가 지금까지 가지고있는 것입니다.

나는 이런 식 시도 :

$.each(theArray,function(intIndex,objValue){ 
    $("#" + objValue.id).parent.css('background-color','red').delay(1000).css('background-color','transparent'); 
}); 

을하고 그 중 하나가 아무것도하지 않았다.

그래서 문제가 무엇인지 잘 모르겠습니다. 어떤 제안?

답변

4
$.each(theArray,function(intIndex,objValue){ 
    var $el = $("#" + objValue.id).parent().css('background-color','red'); 
    setTimeout(function(){ 
     $el.css('background-color', ''); 
    }, 1000); 
}); 

여기 데모입니다 : http://jsfiddle.net/Wnntu/

+0

좋은 예 조셉과 편집 해 주셔서 감사합니다. 좋은 catch – veeTrain

+0

그게 전부 야. 'setTimeout()'으로 시도했지만 변수를 사용하지 않았습니다. 감사. –

+0

요셉; 이것은 정말 잘 작동합니다. 큐/큐 풀 접근 대신 개인적으로 구현했습니다. – veeTrain

0

당신은 아마도 .css('background-color','')을 더 찾고 있습니다. 이렇게하면 요소 스타일에서 제거되어 체인의 마지막 요소를 적용합니다. 그러나 왜 투명하게 작동하지 않을지 확실하지 않습니다.

업데이트,

는 여기를 참조하십시오 http://jsfiddle.net/

0

이 시도 :

$.each(theArray,function(intIndex,objValue){ 
    $("#" + objValue.id).parent().css('background-color','red').delay(1000).queue(function() { 
     $(this).css('background-color',''); 
     $(this).dequeue(); 
    }); 
}); 
0

.delay()에만 작동하지 않습니다 jQuery를 UI없이 애니메이션 효과 큐, 또는 사용자 정의 큐 및 애니메이션 작업 색상이 ...

대신 setTimeout() 전화를 사용할 수 있습니다. :

$.each(theArray,function(intIndex,objValue){ 
    var myObj = $("#" + objValue.id).parent().css('background-color','red'); 
    setTimeout(function() { 
     myObj.css('background-color','transparent'); 
    },1000); 
}); 
+0

영업 그는 단지 그들을 뒤집기, 색상을 애니메이션 것을 언급하지 않았다. 그는 지연을 사용하여 색상을 빈 상태로 전환 할 수 있어야합니다. – veeTrain

+1

올바른 점은 맞춤 설정 대기열을 만들지 않는 한 애니메이션이 아닌 이벤트 사이에'delay()'를 고정하는 것이 효과가 없다는 것입니다. –

+0

설명해 주셔서 감사합니다. 나는 네가하는 말을 보았다. 변경 사항은 맞춤 대기열없이 '즉시'발생합니다. 나는 별도의 대답으로 나를 위해 일한 방식으로이 기능을 시연했다. 사용자 정의 대기열을 만드는 것보다 시간 초과를 선택하는 이유가 있습니까? – veeTrain