2013-05-08 4 views
-3

나는 다음과 같은 스타일이있는 요소가 :요소의 CSS 스타일을 가져

나는 확실히 그것을 항상 ( setInterval은?) 더 이상 작지 이러한 스타일을 가지고, 아니 변화의 모든을 만들고 싶어
<div id="myElement" style="opacity: 0.9; cursor: auto; visibility: visible;"></div> 

. 요소 (인라인 CSS 또는 외부)의 모든 스타일을 검색하여 변경 사항이 없는지 비교해 보는 것이 가능한지 궁금합니다.

+0

,' – tymeJV

+0

http://api.jquery.com/css/ –

+0

:이 같은 뭔가를 할 수 jQuery의 CSS 기능을 사용하여 요소는 * 오직 * 그 스타일을 가질 수 없습니다. 그 밖의 것이 없다면, 브라우저의 내부 스타일 시트에서 캐스케이드를 통해받은 많은 것들이있을 것이다. – Quentin

답변

1

단일 요소의 경우 설정하고 처음 확인하는 것의 성능 차이가 중요하다고 생각하지 않습니다. . 당신은뿐만 아니라 단지 같은 것을 할 수 있습니다

$(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); 
} 
+0

여기에있는 목적은 사용자가 CSS를 덮어 쓰지 않고 어떤 식 으로든 요소를 ​​숨기지 않도록하는 것입니다. – 3zzy

+0

clearInterval()을 사용할 수 있기 때문에 setInterval()이 작동하지 않습니까? – DmitryK

+0

다른 스타일을 조정하거나'! important'를 사용하는 스타일 시트를 삽입 할 수 있기 때문에'style'을 설정하는 것은 효과가 없습니다. – Quentin

관련 문제