将变量从 php while 循环传递到 javascript 函数


Pass variable from php while loop to javascript function

>我有一些图像,我想做的是将鼠标悬停在每张图片上以更改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++;
}
...
?>

但我的剧本只显示了我最后一张照片的文字......

请帮忙!...没有阿贾克斯

你需要

将变量传递给changeText函数:

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

并像这样更改changeText功能:

function changeText( myText ) {document.getElementById("title").innerHTML = myText;}

你不需要把函数定义放在循环中,你需要使用参数。

<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++;
}
//...
?>