我正在做的是用另一个图像替换图像(实际上只是改变它的显示和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语句混合,它就会开始工作,但如果客户端将指针移开,即使选择了它,图像也会消失。