4

我已经使用 2 <div>s 制作了一个图像推子(一个是图像,另一个是包含多个图像的 ul)脚本在 firefox 和 Safari 上运行良好,但在 Chrome 上无法正常运行,它只是先淡化然后它停止脚本是这样的

$("#second").css({
    opacity: 0.0
});

$(function () {
    setInterval("rotateImages()", 4000);
});

function rotateImages() {

    if ($("#first").css("opacity") == 1) {
        $("#first").animate({
            opacity: 0.0
        }, 1500);
        $("#second").animate({
            opacity: 1.0
        }, 1500);
    } else {
        $("#second").animate({
            opacity: 0.0
        }, 1500);
        $("#first").animate({
            opacity: 1.0
        }, 1500);
    };

};

我不知道问题到底出在哪里以及如何使脚本在所有浏览器上都能正常工作。任何帮助将非常感激

谢谢

4

3 回答 3

2

这对我有用

现场演示

$(function() {
  $("#second").css({
    opacity: 0.0
  });
  setInterval(rotateImages, 4000);    
});
function rotateImages() {
    if ($("#first").css("opacity") == 1) {
        $("#first").animate({
            opacity: 0.0
        }, 1500);
        $("#second").animate({
            opacity: 1.0
        }, 1500);
    } else {
        $("#second").animate({
            opacity: 0.0
        }, 1500);
        $("#first").animate({
            opacity: 1.0
        }, 1500);
    };

};

但是,它可以简单得多。

例如,这几乎可以工作,但 这个更好

$(function() {
  var $first = $("#first");
  var $second  = $("#second");
  $("#second").hide();

  var tId = setInterval(function() {
      $first.fadeToggle("slow",function() {
        $second.fadeToggle("slow");
      })    
  },4000);          
});
于 2013-08-12T12:53:56.883 回答
-1

删除()和引号

   setInterval(rotateImage, 4000);
于 2013-08-12T12:46:23.937 回答
-2
$(function(){
    setInterval("rotateImages()", 4000);
});

改成

setInterval(function(rotateImages()), 4000);
于 2013-08-12T12:47:21.243 回答