onmouseover无法正常工作

时间:2013-10-24 17:29:28

标签: javascript css events javascript-events onmouseover

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

0 个答案:

没有答案