2014-01-14 5 views
2

나는 Adblock이 탐지되었을 때 하나의 이미지를 표시하고 Adblock이 탐지되지 않을 때 하나의 이미지를 표시하는 Adblock 탐지기를 통합하려고 시도 해왔다. 유일한 문제는 이미지가 CSS에 의해 표시되고 서식 지정된다는 것입니다. 그렇다면 CSS가 js를 통해 표시하는 이미지를 변경하는 방법이 있습니까?JS로 CSS 이미지 변경

HTML : 마음에

<div id="adblockFrame"> 
<script type="text/javascript" src="js/advertisement.js"></script> 
<script type="text/javascript"> 
    if (document.getElementById("TestAdBlock") != undefined) 
    { 
     document.getElementById('adblockFrame').innerHTML="<img src='images/ImageHolderno.png'  alt='no adblock' />"; 
    } 
    else 
    { 
     document.getElementById('adblockFrame').innerHTML="<img src='ImageHolderyes.png' alt='Adblock detected!' />"; 
    } 

곰이 이미지 장소 홀더 및 무효와 이미지가 CSS에 의해 정의 된 같은 목적을 제공하지 않습니다.

CSS :

#mainPicture .picture 
{ 
position:relative; 
width:650px; 
height:325px; 
top:10px; 
background-image:url(../images/minibg1.png); 
background-repeat:no-repeat; 
margin-left:10px; 
} 
+0

요소를 클래스에 추가하고 CSS에서 해당 클래스를 사용하십시오. –

+0

두 개의 유사한 CSS 클래스를 설정하고 단일 CSS 클래스의 속성을 변경하는 대신 javascript로 전환 할 수 있습니다. – Jasen

답변

0

JS :

document.getElementById('adblockFrame').className = 'adblockersSuck'; 

CSS :

.adblockersSuck { 
    background:url(ImageHolderyes.png) no-repeat; 
} 

또는 유사 요소를 동적으로 삽입 :

.adblockersSuck:after { 
    content:url(ImageHolderyes.png); 
} 
+0

세 번째 섹션 '가상 요소' – AlexCatch

+0

[여기 읽기 시작] (https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements)을 어떻게 통합합니까? –

+0

좋아, js의 출력에 따라 보여줄 두 개의 이미지가있다. 유일한 문제는 Adblock이 활성화되면 Adblock 뒤에 표시되는 이미지가 사용 중지 된 이미지이고 적절한 위치에 있지 않다는 것입니다. – AlexCatch