IE - Jquery hover()仅适用于第一次

时间:2013-05-07 07:53:37

标签: jquery internet-explorer hover

我有一个带有hover()函数的内联div。

它在FF,Chrome中运行良好。

这个问题出现在IE上,第一次它第二次运行div时没用。

HTML:

<div id="mini-cart-li" class="">
    <a class="heading" href="http://mb.local.com/checkout/cart/" title="View contents of your shopping cart">My Cart
    </a>
    <div id="mini-cart-content" class="block block-cart block-content" style="display: none;">
        BLA BLA BLA BLA BLA ....
        </div>
        </div>

JS:

    jQuery(document).ready(function () {

    jQuery("#mini-cart-li").hover(
        function () {
          //  jQuery(this).addClass('hover');
            jQuery("#mini-cart-content").stop(true, true).animate({opacity: "show", display: "block"}, "slow");
        },
        function () {
         //   jQuery(this).removeClass('hover');
            jQuery("#mini-cart-content").stop(true, true).animate({opacity: "hide", display: "none"}, "slow");
        }
    )
});

2 个答案:

答案 0 :(得分:2)

尝试使用数字代替不透明度值而不是showhide

jQuery("#mini-cart-li").hover(
    function () {
      //  jQuery(this).addClass('hover');
        jQuery("#mini-cart-content").stop(true, true).animate({opacity: 1, display: "block"}, "slow");
    },
    function () {
     //   jQuery(this).removeClass('hover');
        jQuery("#mini-cart-content").stop(true, true).animate({opacity: 0, display: "none"}, "slow");
    }
)

答案 1 :(得分:0)

尝试使用此

    $('#mini-cart-content').stop(true, true).animate({ opacity: "show" }, "slow");

     $("#mini-cart-content").stop(true, true).animate({ opacity: "hide" }, "slow");