我正在做的是用另一个图像替换一个图像(实际上只是改变它的 display 和 src 属性)。如果我删除 if 条件,则onmouseover
可以,但其他事件无法正常工作,因为我希望它们可以正常工作。
<strong onmouseover='if(this.lastChild.style.display=="none") {this.lastChild.style.display="inherit";}' onmouseout='if(this.lastChild.style.display=="inherit"){this.lastChild.style.display="none";}' onclick='menuArrow(this, "<?php echo site_url(); ?>")'><?php the_sub_field('feature_title'); ?> <img id="menu-arrow" src="<?php echo site_url(); ?>/wp-content/themes/orange/img/triangle-down.png" onclick="menuArrow()"></strong>
function menuArrow(obj, url)
{
if(obj.lastChild.src == (url + "/wp-content/themes/orange/img/triangle-down.png")){
obj.lastChild.src = url + "/wp-content/themes/orange/img/triangle-up.png";
obj.lastChild.style.display = "inline";
} else {
obj.lastChild.src = url + "/wp-content/themes/orange/img/triangle-down.png";
obj.lastChild.style.display = "inherit";
}
}
我正在使用display
属性inherit
将菜单选项标记为未选中。none
属性意味着它没有被选中并且鼠标指针不在它上面。inline
表示选择了菜单选项。基本上,当页面加载时,不会显示任何图像。一旦鼠标指针位于菜单选项上,就会出现第一个图像。如果客户单击菜单选项,则第一个图像变为第二个图像。
问题是,如果我不单击任何菜单选项,则不会出现图像(即使display
设置为none
)。正如我之前提到的,如果我与 if 语句混合使用,它会开始工作,但如果客户将指针移开,即使选择了图像也会消失。