2011-11-10 4 views
0

사용자가 댓글 작성자의 이름을 클릭하면 웹 사이트 스크린 샷을 표시하는 플러그인을 개발하려고합니다. 모두 하나만 주석이 있지만 둘 이상의 주석이있는 경우 스크립트가 작동하지 않습니다. 나는이 문제가 각 변수에 대해 호출 된 변수 이름에 있다고 생각한다. 그러나 동적으로 JS 변수의 이름을 변경하는 방법과 동적 변수를 호출하는 방법을 모르겠습니다. Wordpress 및 Javascript mouseover

는 (헤더) 마우스 오버에 대한 코드

<script type="text/javascript"> 
function MOver(picimage) 
{ 
Picture_Over = eval(picimage +"On.src") 
document[picimage].src = Picture_Over 
} 
function MOut(picimage) 
{ 
Picture_Out = eval(picimage +"Off.src") 
document[picimage].src = Picture_Out 
} 
--> 
</script> 

다음이 마우스를 두었을 표시하는 코드입니다 :

<script type="text/javascript"><!-- 

var Img2On = new Image(); 
Img2On.src = "<?php echo $urlnohttp;?>"; 
var Img2Off = new Image(); 
Img2Off.src = "<?php bloginfo('url');?>/wp-content/plugins/[...]/control_play.png"; 

</script> 
<a href="<?php echo $commenturl ?>" onMouseOver="MOver('Img2')" onMouseOut = "MOut('Img2')" ><?php echo $author ?> <img src="<?php bloginfo('url');?>/wp-content/plugins/[...]/control_play.png" border="0" name="Img2"></img></a> 

나는 문제가 "IMG2"의 이름으로 생각 그것은 고유하지 않습니다. 이 작업을 수행합니다

function MouseChange(img , imageSrc) // img will be the tag name, and imageSrc will be the URL of the image 
{ 
    document[img].src = imageSrc; 
} 

이 전화를 걸려면 :이처럼 보이도록

동적 변수를 호출하는 기능을 변경하려면 : 나는이 답변에 걸쳐 내 댓글의 대부분을 이동하고

+0

왜 텍스트를 전달하고 그것을 변수로 평가하고 있습니까? 변수'onMouseOver = "MOver (Img2On.src)"'를 전달할 수 있습니다. 그러면 함수 하나만 만들 수 있습니다. function MouseChange (picImage) {document [ 'Img2']. src = picImage; } 그런 이미지를 닫지 마라. ''에서 ''으로 변경하십시오. 그것은 모두 하나의 태그에서 이루어져야합니다. –

+0

답변을 주셔서 감사합니다.하지만 이해할 수 없습니다. 설명해 주시겠습니까? 덕분에 – Pigi

답변

0

<?php $blogPostID = ???;// I don't know how to get blog post ID of the top of my head ?> 
<script type="text/javascript"><!-- 
    var Img<?= $blogPostID ?>On = new Image(); 
    Img<?= $blogPostID ?>On.src = "<?php echo $urlnohttp;?>"; 
    var Img<?= $blogPostID ?>Off = new Image(); 
    Img<?= $blogPostID ?>Off.src = "<?php bloginfo('url');?>/wp-content/plugins/[...]/control_play.png"; 
// this closes the HTML comment: --></script> 

<a href="<?php echo $commenturl ?>" onMouseOver="MouseChange('Img<?= $blogPostID ?>' , Img<?= $blogPostID ?>On.src)" onMouseOut = "MouseChange('Img<?= $blogPostID ?>' , Img<?= $blogPostID ?>Off.src)" ><?php echo $author ?> 
    <img src="<?php bloginfo('url');?>/wp-content/plugins/[...]/control_play.png" border="0" name="Img<?= $blogPostID ?>" /> 
</a> 

그래서 블로그 게시물 ID로 모든 숫자를 바꿨다면, 페이지의 다른 부분이 "Img #"라고하는 한 [상대적으로] 확실 할 수 있습니다.

+0

가 작동하지 않습니다. js가 PHP 변수를 무시합니다. – Pigi

+0

자바 스크립트는 변수를 무시할 수 없습니다. 그게 무슨 일이 일어나고 있다면, 아마도 당신은 블로그 포스트 ID를 제대로받지 못하고있는 것입니다, 당신은 그것을 초기화하는 방법을 말할 수 있습니까? '$ blogPostID;를 echo 할 때 일어나는 일을 피하십시오. 가치가 있습니까? –

+0

이것은 붙여 넣기 bin 코드입니다. http://pastebin.com/j2YZS2BU 이제 js에서 변수를 수락하지만 오버레이를하지 않습니다. 아마 imgsrc가 dinamically 생성되는 것입니까? – Pigi