0

我正忙于一个项目,但我知道我在某个时候被困住了。我想要做的是,当有人按下主页按钮时,它会改变它的颜色。我想做的是从图像 1(白色)到图像 2(蓝色)的交换。所以这个人可以看到他/她在哪个页面上。但是当我将此代码放入网站时,它不会显示任何内容。当我按 2 次时,它将显示蓝色图像。当我多次按下时,您会看到白色和蓝色图像交换。但它不会站在白色图像上,只会出现在蓝色图像上

这是我使用的代码。-->

<a href='' "<?php echo $this->createUrl("/admin/survey/sa/index"); ?>" onclick="edit()"><img id="img1" onclick="imageChange(this)"'<?php echo $sImageURL;?>home.png' alt='<?php $clang->eT("Default administration page");?>' />
<script type="text/javascript">
{
  var img1 = "/LimeSurvey/styles/scanyours/images/home.png";
  var img2 = "/LimeSurvey/styles/scanyours/images/home1.png";
}
{
  var imageChoice = 1;
}
function imageChange(element) 
{
  if (imageChoice == 1)
  {
    element.src = img2;
    imageChoice = 2;
  }
  else if (imageChoice == 2) 
  {
    element.src = img1;
    imageChoice = 1;
  }
}
</script></a>
4

2 回答 2

1

尽量不要将 img 标签嵌入到锚标签中。也许这两个 onclick 事件会互相干扰。

顺便说一句:您应该缩进代码以获得更好的清晰度。

编辑:

我不知道你网站的确切结构,但如果 index.php 只显示主页,你可以试试这个:

if ($_SERVER['PHP_SELF'] == 'index.php') {
  echo 'Show logo for homepage';
} else {
  echo 'Show logo for other pages';
}

当它工作时,你可以用你的 element.src 函数交换回声。当它不起作用时,检查 $_SERVER['PHP_SELF'] 中存储的内容(当您在主页上和在其他站点上时)并调整 if 语句。

于 2013-04-23T13:19:01.407 回答
1

如果您将图像标签放在锚标签内,那么即使您的图像替换有效,您也会立即被重定向到您的锚链接到的任何位置。

这是预期的行为吗?

Here is a working example if you didn't have the anchor tag

http://jsfiddle.net/6LZpL/

于 2013-04-23T13:22:22.640 回答