jquery animate在IE9及更早版本中不起作用

时间:2013-09-25 12:55:23

标签: javascript jquery html css internet-explorer

我有jquery动画的问题。它不适用于IE9及更早版本。我认为问题在某个地方有css,因为我可以看到,即不透明度设置为0.

的Javascript

var $lead = $('.lead');
var height = $lead.height();
var totalHeight = height * numOfLeads;
function bounce() {
    var time = 400;
    var counter1 = 1;
    $($(".lead").get().reverse()).each(function() {
        setTimeout(function(el, counter1, height, totalHeight) {
            $(el).css({
                top: "-" + (totalHeight - (counter1 * height) + height) + "px",
                opacity: 0,
                display: "block",
                position: "relative"
            }).animate({
                top: "+=" + (totalHeight - (counter1 * height) + height) + "px",
                opacity: 1
            }, 1000, "easeOutBounce")
                    ;
        }, time, this, counter1, height, totalHeight);
        time += 400;
        counter1 += 1;
    });
}
bounce();

HTML

<div class="lead">
<div class="progress-bar">
    <div>
        <span class="first green end"></span>
        <span class="middle"></span>
        <span class="middle"></span>
        <span class="last"></span>
    </div>
    <span>Accepted</span>
</div>
<div class="product">Hypotek</div>
<div class="county">Ustecky</div>
<div class="change">
    <span>Changed</span>
    <div>22</div>
    <div>29</div>
    <div>38</div>
</div>

CSS

#leads{position: absolute;}
#leads, #leads div { z-index: 5;}
.lead { background: url("../images/lead_back_stripe.png") repeat-x scroll 0 0 transparent; height: 65px;}
.lead > div { float: left; padding-left: 20px; padding-top: 21px; width: 180px;}
.lead > div.progress-bar{width: 185px;}
.lead > div.product {width: 175px;}

你可以看到整件事here

有人知道问题所在吗?

1 个答案:

答案 0 :(得分:1)

长话短说:不透明度不会在ie中起作用,并且设置不透明度的唯一方法是,据我所知,filter: alpha(opacity = X);为0&lt; X> 100 ....这不适用于jquery动画

除了,也许这有效:

$(el).animate({
        opacity:1
},{
    step: function( now, fx ) {
        var X = 100 * now; //like at half the animation, opacity is 0.5, so X becomes 50
        $(fx.elem).css("filter","alpha(opacity="+X+")");
    }
});