JQuery / Javascript - Firefox在简单的任务上崩溃,没有控制台错误

时间:2013-01-15 11:05:56

标签: javascript jquery firefox crash

Firefox在执行这个简单功能时崩溃,而Chrome,Safari和IE执行此操作没有任何问题:

jQuery(document).ready(function($) {

    if($('.fside_img').length>0) {
        gundeToggling(0,2000);
    }

});

function gundeToggling(prev,speed) {

    // 1. Choose a victim
    var victim = Math.floor(Math.random()*7); // number between 1 and 6

    // 2. Check if allowed or back to 1
    var alpha = $('#dn-a-'+victim);
    var beta = $('#dn-b-'+victim);

    var ctf_val = parseInt($('#ct_fones').val()); // Menge der sichtbaren prims
    var cts_val = parseInt($('#ct_sones').val()); // Menge der sichtbaren secs

    if(alpha.is(':visible') && ctf_val>2 && victim!=prev) {
        alpha.fadeOut(speed);
        beta.fadeIn(speed,function() {
            $('#ct_fones').val(ctf_val-1);
            $('#ct_sones').val(cts_val+1);
            gundeToggling(victim,speed);
        });
    } else if(beta.is(':visible') && cts_val>2 && victim!=prev) {
        beta.fadeOut(speed);
        alpha.fadeIn(speed,function() {
            $('#ct_fones').val(ctf_val+1);
            $('#ct_sones').val(cts_val-1);
            gundeToggling(victim,speed);
        });
    } else {
        gundeToggling(prev,speed);
    }
}

这是一个以随机顺序淡入/淡出6个图像的功能。我也试图找到下一个图像recursivley,但Firefox仍然崩溃。怎么了?

2 个答案:

答案 0 :(得分:0)

思路: 在另一个浏览器中尝试(chrome,即opera,safari)。 尝试进行大量调试(放置注释和放置很多地方,看看哪里可以运行,哪里不是整个js) 关闭所有其他标签。

想法#2: 我也有旋转木马这个问题,修复很简单。禁用firefox中的所有扩展和插件。 (好吧,我只在firefox中遇到此问题,所有其他浏览器仍能正常工作......)

答案 1 :(得分:0)

您好,感谢您的帮助,setTimeout的提示对于调试非常有用,因为我可以避免崩溃。

但真正的问题如下:

:可见选择器在Firefox中的工作方式与所有其他浏览器不同。因此,Firefox中的jQuery认为,可见内容块(缺少图像)是不可见的,这是无限循环的原因,因为更多的图像在脚本允许时是不可见的。解决方案:缺少图像的Alt-Text :-P