javascript - 简单的 jquery Fade Slideshow 在某些浏览器上失败

标签 javascript jquery slideshow

所以我的网站上有一个简单的幻灯片,它只显示一张图像,然后显示另一张图像,直到到达末尾或用户点击“跳过”,在这种情况下它会显示index.html。该网站在 apache2 上使用 Django 提供服务。幻灯片在大多数机器上都能完美运行,但某些机器会显示某些图像两次,而其他图像则根本不显示,并且计时已关闭。我使用的是 jquery 1.4.3。

下面是 html 的部分,我将图像 URL 从数据库推送到 JavaScript

{% for image in latest_images %}
{% thumbnail image.image_file "800x600" crop="center" as im %}
<script>FadeImageList.push("{{im.url}}");</script>
{% endthumbnail %}
{% endfor %}

下面是完整的 JavaScript 文件

var FadeImageList = [];

var fadeDuration = 2000;
var fadeImgID = '#slideShow';
var homePageID = '#homePage';
var menuID = '#menu';
var skipFlag = 0;

$(document).ready(function(){

$(homePageID).fadeOut(50);

PlaySlideshow(FadeImageList);

});

var PlaySlideshow = function(FadeImageList){
    var newImgSrc = FadeImageList.shift();

     $('#skip').click(function(){$('#loader').show();skipFlag = 1;});


    if(((typeof(newImgSrc) !== "string") || (skipFlag === 1))){
        EndSlideShow();
        return;
    }
    else{
         $(fadeImgID).fadeOut(fadeDuration,function(){
            $(fadeImgID).attr('src', newImgSrc);
            $(fadeImgID).fadeIn(fadeDuration,function(){
                PlaySlideshow(FadeImageList);
            });
         });
     }
};

var EndSlideShow = function(fadeSettings){
   $(fadeImgID).fadeOut(400,function(){
     $(homePageID).fadeIn(400);
     $("#skip").fadeOut(400);
     $('#loader').hide();
   });
};

奇怪的是,我让它在同一操作系统但不同机器上的相同版本编号的浏览器上工作并失败。它在机器上始终要么工作要么失败。

我在 ie 7,8、firefox 3.6.3 和 chrome 中都失败了。我也在 ie6,7,8 firefox 3.6.3,3.4.2,3.1 和 chrome 中取得了成功。

最佳答案

当您的浏览器(例如 IE7)在一个地方失败但在另一个地方工作时,每个浏览器的本地设置是否相同 - 例如缓存?他们的网络连接速度相似吗?首先想到的是您需要一个预加载器,因为幻灯片很可能以不完整的图像文件/不完整的图像数组开始

关于javascript - 简单的 jquery Fade Slideshow 在某些浏览器上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716677/

相关文章:

jquery - 从父级中取出 div 并添加到上面的父级

jquery - CSS:显示裁剪图像的预览

javascript - 用于幻灯片放映的中央寻呼机拇指

javascript - 图像幻灯片 html5 中的过渡

javascript - 似乎无法找到 jQuery $.post 的解决方案

javascript - 在 Javascript 中重命名文档

javascript - 文件更改时 Node 编译

javascript - JS中手动将大写字符串转换为小写字符串

javascript - JQUERY 幻灯片代码压缩

javascript - 使用新功能 AJAX 重新加载页面