1

私はいくつかの画像を持っています。私がやりたいことは、各写真の上にマウスを置いて、画像のタイトルである div 内のテキストを変更することです。

だからここに私のコードがあります:

<?php
...

$i=0;
while($i<$imageno)
{

echo'
<script type="text/javascript">
function changeText() {document.getElementById("title").innerHTML = "'.$title[$i].'";}
</script>';

if ($imagine[$i]){
echo '<div onmouseover="changeText()"><img src="'.$imagine[$i].'"></div>';
};
$i++;
}

...
?>

しかし、私のスクリプトは、私の最後の写真の tscription しか表示しません...

助けてください!...Ajaxなし

4

2 に答える 2

3

changeText関数に変数を渡す必要があります。

echo '<div onmouseover="changeText('".$title[$i]."')"><img src="'.$imagine[$i].'"></div>';

そして、次のように機能を変更changeTextするには:

function changeText( myText ) {document.getElementById("title").innerHTML = myText;}
于 2012-06-21T11:00:17.380 に答える
1

関数定義をループに入れる必要はなく、パラメーターを使用する必要があります。

<script type="text/javascript">
function changeText(title) {document.getElementById("title").innerHTML = title;}
</script>

<?php
//... 
$i=0;
while($i<$imageno) {
  if ($imagine[$i]){
    $title = json_encode(htmlspecialchars($title[$i]));
    echo '<div onmouseover="changeText('.$title.')"><img src="'.$imagine[$i].'"></div>';
  };
  $i++;
}
//...
?>
于 2012-06-21T11:04:40.340 に答える