我试图仅使用Javascript来改变div内部图像的方向 - 我目前还不了解Jquery,因为我还在学习。
根据我所做的研究,我发现最简单的方法是将图像源更改为面向另一种方式的不同图像。
所以我在循环中编写了这段代码。
if (deltaX<0)
{
currentImg.src="http://i.imgur.com/sRvmr.png";
}
else (deltaX>0)
{
currentImg.src="http://i.imgur.com/ykHML.png";
};
然而,当我继续测试代码时,图像只是闪烁了一会儿,然后源返回到它的原始源。此外,如果我删除了else语句,如果deltaX变为负数,图像将消失。
我发现的大多数示例都涉及Javascript之外的其他内容,或者与正在刷新的页面有关。我的页面不令人耳目一新,这使我难以理解为什么这段代码不起作用。
我拥有的全循环代码。还有一个更大的代码部分,但这就是问题所在。
function myFunction()
{
setInterval(function(){runCat()},100);
};
function runCat()
{
for (i=0; i<catCount+1; i++)
{
var currentImg = document.getElementById('image'+i);
var currentCat = document.getElementById('cat'+i);
var catBox=currentCat.getBoundingClientRect();
var catX=catBox.left+catBox.width/2;
var catY=catBox.top+catBox.height/2;
var deltaX=catX-posX;
var deltaY=catY-posY;
var preC=(deltaY*deltaY+deltaX*deltaX)
var catC=Math.sqrt(preC);
var inverseCat=125000/(catC*catC);
var unitX=deltaX/catC;
var unitY=deltaY/catC;
var testUnit=Math.sqrt(unitX*unitX+unitY*unitY);
var newY=catBox.top+inverseCat*unitY;
var newX=catBox.left+inverseCat*unitX;
if (inverseCat<1)
{
}
else if ((newY<0) || (newX<0) || (newY>(window.innerHeight-catBox.height)) || (newX<(window.innerWidth-catBox.width)))
{
dropCat(currentCat);
}
else
{
currentCat.style.top=newY+"px";
currentCat.style.left=newX+"px";
};
if (deltaX<0)
{
currentImg.src="http://i.imgur.com/sRvmr.png";
}
else (deltaX>0)
{
currentImg.src="http://i.imgur.com/ykHML.png";
};
};
};