Javascript有时会崩溃,有时候不会崩溃?

时间:2012-11-28 05:01:28

标签: javascript browser cross-browser

我使用以下脚本构建网站。有时这个javascript崩溃有时不会。奇怪的是当我在sliderLeft定义后在第三行添加警告框时,脚本永远不会崩溃。有人请帮忙。 我对不同的输出使用了两次相同的功能。

即使我删除第二个类似的功能我仍然会收到错误。请帮帮我。

$(window).load(function() {             
    var sliderLeft=$('#thumbScroller .container').position();
    //alert(sliderLeft);
 //   padding=$('#outer_container').css('paddingRight').replace("px", "");
    var sliderWidth=$(window).width()
    $('#thumbScroller').css('width',sliderWidth);
    var totalContent=0;
    $('#thumbScroller .content').each(function () {
        totalContent+=$(this).innerWidth();
        $('#thumbScroller .container').css('width',totalContent);
    });
    //alert(sliderLeft);
    $('#thumbScroller').mousemove(function(e){
        if($('#thumbScroller  .container').width()>sliderWidth){
            var mouseCoords=(e.pageX - this.offsetLeft);
            var mousePercentX=mouseCoords/sliderWidth;
            var destX=-(((totalContent-(sliderWidth))-sliderWidth)*(mousePercentX));
            var thePosA=mouseCoords-destX;
            var thePosB=destX-mouseCoords;
            var animSpeed=600; //ease amount
            var easeType='easeOutCirc';
            if(mouseCoords==destX){
                $('#thumbScroller .container').stop();
            }
            else if(mouseCoords>destX){
                //$('#thumbScroller .container').css('left',-thePosA); //without easing
                $('#thumbScroller .container').stop().animate({left: -thePosA}, animSpeed,easeType); //with easing
            }
            else if(mouseCoords<destX){
                //$('#thumbScroller .container').css('left',thePosB); //without easing
                $('#thumbScroller .container').stop().animate({left: thePosB}, animSpeed,easeType); //with easing
            }
        }
    });
    $('#thumbScroller  .thumb').each(function () {
        $(this).fadeTo(fadeSpeed, 0.6);
    });
    var fadeSpeed=200;
    $('#thumbScroller .thumb').hover(
    function(){ //mouse over
        $(this).fadeTo(fadeSpeed, 1);
    },
    function(){ //mouse out
        $(this).fadeTo(fadeSpeed, 0.6);
    }
);
});
$(window).resize(function() {
    //$('#thumbScroller .container').css('left',sliderLeft); //without easing
    $('#thumbScroller .container').stop().animate({left: sliderLeft}, 400,'easeOutCirc'); //with easing
    $('#thumbScroller').css('width',$(window).width());
    sliderWidth=$(window).width();
});

我根据建议删除了第二个功能,但仍然无效 删除了几行和脚本崩溃,并且没有显示任何错误

2 个答案:

答案 0 :(得分:0)

您有2个$(window).load(function() {...});个函数定义。

尝试将它们组合成1 $(window).load(function() {...});个电话。

答案 1 :(得分:0)

只是一个想法......

很难说没有看到问题(正如3dgoo所说的那样尝试将你的代码放入jsfiddle.net)但你确定你的代码在dom准备就绪时会执行吗?

它解释说,你在代码中加入的“警报”通过给它时间来完成加载来解决问题。