단일 요소의 경우 설정하고 처음 확인하는 것의 성능 차이가 중요하다고 생각하지 않습니다. . 당신은뿐만 아니라 단지 같은 것을 할 수 있습니다
$(document).ready(function(){
var t = setInterval(function(){
$('#myElement').attr('style', 'opacity: 0.9; cursor: auto; visibility: visible;');
}, 1000);
}
난 당신이 일반적으로 $ ('#의 myElement') CSS를 사용하여 스타일을 설정합니다 실현을하지만, 더 새로운 스타일이 추가되지 않았다 보장하기 위해 원하는대로, 설정 스타일 속성은 원하는 것을 성취해야합니다. 불행히도 페이지의 다른 부분에서 스타일 시트 또는 스타일 블록의 변경 사항을 고려하지 않습니다. 이렇게하려면 스타일 속성을 좀 더 포괄적으로 만들고 각 값 뒤에 "! important"를 포함시켜야합니다.
관심이 있으신 분은 왜이 작업을 수행해야합니까? 문제에 대한 더 나은 해결책이있는 것 같습니다.
편집 : 대신
var t = setInterval(...);
의, 위해 clearInterval을 사용하여 사용자를 중지하려면을 취소하기 위해 위해 clearInterval이 간격에 대한 참조를 필요로는 그냥
setInterval(...);
를 사용 (내가 틀렸다면 나를 바로 잡아라.) 해당 참조를 작성하지 않으면 간격은 계속 실행되지만 지울 수는 없습니다.
궁극적으로 나는 이것을 달성하기위한 어리석은 방법이 없을 것이라고 생각합니다. 하지만 가장 결정적인 사용자를 제외한 모든 사용자가 자신이 원하는 모든 것을 숨길 수 없도록해야합니다.
편집 2 : 당신은 당신이 차례로 각각의 속성을 확인해야 할 것이다대로 가능하다 CSS하지만 약간의 고통을 선택하십시오. ("클래스 이름") 다음`.hasClass를 사용하는 이유는 수업을하지
$(document).ready(function(){
setInterval(function(){
var el = $('#myElement');
var tampered = false;
if (el.css('display') != 'block') tampered = true;
if (el.css('visibility') != 'visible') tampered = true;
if (el.css('position') != 'static') tampered = true;
....
if (tampered){
// Do your thing
}
}, 1000);
}
,' – tymeJV
http://api.jquery.com/css/ –
:이 같은 뭔가를 할 수 jQuery의 CSS 기능을 사용하여 요소는 * 오직 * 그 스타일을 가질 수 없습니다. 그 밖의 것이 없다면, 브라우저의 내부 스타일 시트에서 캐스케이드를 통해받은 많은 것들이있을 것이다. – Quentin