2013-07-25 54 views
0
<script> 
var xTurn = true; 
function changeImage() 
{ 
    element=document.getElementById('myimage') 
    if (element.src.match("/wp-content/uploads/2013/07/squaree.png") && xTurn) 
    { 
     xTurn = false; 
     element.src="/wp-content/uploads/2013/07/xx.png"; 
    } 
    else if (element.src.match("/wp-content/uploads/2013/07/squaree.png") && xTurn==false); 
    { 
     xTurn = true; 
     element.src="/wp-content/uploads/2013/07/circ.png"; 
    } 
} 
</script> 

<img id="myimage" onclick="changeImage()" src="/wp-content/uploads/2013/07/squaree.png" width="90" height="90"> 

由于某种原因,xTurn在该函数中似乎不起作用。我是否参考不正确?顺便说一句,这是在wordpress中。我已经检查过,确保在不使用xTurn的情况下更改图像。全局布尔函数不能在函数内使用 - Javascript

+0

xTurn应该是功能闭包内可见。我的猜测是你的代码有其他问题。尝试'console.log(xTurn)' –

+0

你做两次同样的检查:element.src.match(“/ wp-content/uploads/2013/07/squaree.png”),但是在某些时候你将图像改为xx那么你的条件都不符合 – svillamayor

+0

嗯,最初我想要图像是一个正方形,然后改变它之后,我希望它保持一个x或圆形,然后下一次点击一个正方形的图像时,它会是一个x或圆圈依赖于最后一张图片,所以我的逻辑似乎是正确的。它的工作现在。下面是它的样子:http://pastebin.com/HjH7Dr5T – user2619857

回答

0

我认为你正在使用的匹配错误,element.src会给你

http://domain.... 

完整的URL尝试像

element.src.indexOf("squaree") != -1 
+0

什么是xTerm?你把它连接到窗口对象意味着什么?你的例子工作正常,我不得不在if(xTurn)条件之外添加条件来检查它是否是原始图像(如你在我的原始代码中看到的那样)。 if(boolean && boolean){// code}的正确语法是什么,因为它似乎不适合我!第一天用javascript ......叹气.. – user2619857

+0

咦?它现在似乎工作,你编辑你的答案?您之前为我工作的代码,但是我必须在if(xTurn)条件内添加if语句以满足我的要求。还没有弄清楚如何正确使用&&,但我会自己来看看。谢谢! – user2619857

+0

没有编辑它..你正在使用&& ..但我会用&&!xTurn – gezzuzz