0

私はプロジェクトで忙しいのですが、ある時点で立ち往生していることを知っています。私がやりたいのは、誰かがホームボタンを押すと、色が変わることです。私がやりたかったのは、画像 1 (白) から画像 2 (青) への交換です。そのため、その人は自分がどのページにいるかを見ることができます。しかし、このコードを Web サイトに挿入しても、何も表示されません。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 タグを埋め込まないようにしてください。おそらく、2 つの 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 に答える