onmouseover,onmouseout javascript在谷歌浏览器中不起作用

onmouseover,onmouseout javascript在谷歌浏览器中不起作用,javascript,Javascript,onmouseover,onmouseout javascript在google chrome中不工作。在mozila中正常工作 <script type="text/javascript"> function toggleMe(id) { var image = document.getElementById(id); if(id.style.display == "block") { id.style.display = "none"; }

onmouseover,onmouseout javascript在google chrome中不工作。在mozila中正常工作

<script type="text/javascript">
function toggleMe(id) {
    var image = document.getElementById(id);
    if(id.style.display == "block") {
        id.style.display = "none";
    } else {
        id.style.display = "block";
    }
}
</script>

<div onmouseover="toggleMe(<?php echo "I".$id; ?>)" onmouseout="toggleMe(<?php echo "I".$id; ?>)">
    <?php echo $result_v['model_name']; ?>
</div>
<img src="<?php echo $result_v['image']; ?>" alt="<?php echo $result_v['model_name']; ?>" id="<?php echo "I".$id; ?>" class="imagebox" />

功能切换名称(id){
var image=document.getElementById(id);
如果(id.style.display==“块”){
id.style.display=“无”;
}否则{
id.style.display=“块”;
}
}

两个问题,函数调用中的无引号字符串。像这样修理

<div onmouseover="toggleMe('I<?= $id ?>')"...
<!-- note the quotes       ^           ^ -->
尽管如此,我还是使用数据属性,而不是将字符串注入JavaScript函数中

<div data-image="I<?= $id ?>" onmouseover="toggleMe(this)"...

当您向
toggleMe
函数传递字符串时,应该引用参数,即
toggleMe(“I”)
。你应该检查你的控制台是否有错误。我的代码没有语法错误。它在mozila中正常工作,但在google chrome中不工作。某些浏览器会自动为ID元素创建变量引用。Chrome不是这些浏览器之一。正确编写代码使用代码后,mozila中没有结果,请帮助我。。
<div data-image="I<?= $id ?>" onmouseover="toggleMe(this)"...
function toggleMe(trigger) {
    var image = document.getElementById(trigger.getAttribute('data-image'));
    image.style.display = image.style.display == 'block' ? 'none' : 'block';
}