jQuery自定义队列在IE9中不起作用

时间:2014-03-04 10:56:53

标签: jquery internet-explorer queue

我使用自定义队列制作一些故事:

  $('#section-1.u2').delay(200)
  .queue( function(next){
        $('.u2.b1').fadeOut(400);
        $('.u2.b2').fadeIn(400);
    next();
  });
  $('#section-1.u2').delay(400)
  .queue( function(next){
        $('.u2.b2').fadeOut(400);
        $('.u2.b3').fadeIn(400);
    next();
  });
....

然后会发生一些事情,但IE9(Win7,IE9.0.8。)只运行第一部分然后停止,没有任何错误。 我能在这做什么?

由于 丹尼斯

2 个答案:

答案 0 :(得分:0)

不确定会发生什么,但您可以尝试使用jq 1.9 +:

$('#section-1.u2').finish().delay(200)
  .queue( function(next){
        $('.u2.b1').fadeOut(400);
        $('.u2.b2').fadeIn(400);
        next();
  });
  $('#section-1.u2').delay(400)
  .queue( function(){
        $('.u2.b2').fadeOut(400);
        $('.u2.b3').fadeIn(400);
  });

答案 1 :(得分:0)

可以在每个队列函数中使用.dequeue()

Description在队列中为匹配的元素执行下一个函数。

$('#section-1.u2').delay(200).queue( function(next){
    $('.u2.b1').fadeOut(400);
    $('.u2.b2').fadeIn(400);
    $(this).dequeue(); // here
    next();
});
$('#section-1.u2').delay(400).queue( function(next){
    $('.u2.b2').fadeOut(400);
    $('.u2.b3').fadeIn(400);
    $(this).dequeue(); // here and so on...
    next();
});