0

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

4

0 回答 0