jQuery UI滑块 - 如果未激活开发人员工具,则无法在IE上运行

时间:2012-02-20 17:53:24

标签: jquery-ui internet-explorer jquery-ui-slider ie-developer-tools

我有一个非常奇怪的问题。 我正在使用jQuery 1.7.1和UI 1.8.17作为滑块。

它在Chrome,Safari和FF上的效果就像魅力一样(只要你没有躲避萤火虫......)。 到目前为止很好,但是!

它不适用于IE(使用IE 8和9进行测试)。但是,只要打开IE开发人员工具,滑块就可以工作!

我绝对不知道如何解决这个问题......所以希望你们中的任何人都可以帮助我!

我的JS代码:

$(document).ready(function(){
$("#content-slider").slider({
        animate: true,
        value: 0,
        slide: handleSliderSlide,
        change:handleSliderChange
      });   

var c = parseInt($(".content-item").length);
var isiPad = navigator.userAgent.match(/iPad/i) != null;
//var w = eval((376 * c) + 1);
if ($.browser.msie && parseInt($.browser.version)==9 || isiPad) {
    var w = parseInt(eval(376.5 * c));
}
else {
    var w = eval(376.5 * c);
}

var s = $(window).width();


$("#content-scroll").attr('style', 'width:'+s+'px;');
$("#content-holder").attr('style','width:'+w+'px;');


if(isiPad){
        $("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:3px;');
    }
    else if($.browser.msie) {
        switch (parseInt($.browser.version)) {
            case 9:
                $("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:2px;');
                break;
            case 8:    
                $("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:2px;');
                break;
            case 7:    
                $("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:2px;');
                break;    
        }

    }
    else if ($.browser.safari) {
        $("#content-slider").attr('style', 'width:'+eval(s - 48)+'px;margin-left:3px;');
    } 
    else{
        $("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:2px;');
        //$("#content-slider").attr('style', 'width:'+eval(s - 49)+'px;margin-left:2px;');
    }

    $("a.fancybox").fancybox();

    $('#lnkproject').addClass('current');
        $('#lnkproject').click(function(){
            console.log('lnkproject.click');
            $('#lnkproject').addClass('current');
            $('#lnkskills').removeClass('current');
            $('#lnkcontact').removeClass('current');

            $("#content-slider").slider({
                animate: true,
                value: 0,
                slide: handleSliderSlide,
                change: handleSliderChange

            });
        });


    $('#lnkskills a').click(function(){
        console.log('lnkskills.click');
        $('#lnkproject').removeClass('current');
        $('#lnkcontact').removeClass('current');
        $('#lnkskills').addClass('current');        
        scval = parseInt(($("#content-holder").width() - $("#content-scroll").width()) / 100);
        $("#content-slider").slider({
            animate: true,
            value: eval(scval + 1),
            slide: handleSliderSlide,
            change: handleSliderChange
        });
    });

    $('#lnkcontact').click(function(){
        console.log('lnkcontact.click');
        $('#lnkproject').removeClass('current');
        $('#lnkskills').removeClass('current');
        $('#lnkcontact').addClass('current');       
        $("#content-slider").slider({
            animate: true,
            value: 100,
            slide: handleSliderSlide,
            change: handleSliderChange
        });
    });

    $("#fp_prev_thumb").click(function() {
        console.log('fp_prev_thumb.click');
        var slideval = parseInt($('#content-slider').slider("option", "value"));
        $("#content-slider").slider({
            animate: true,
            value: slideval - 10,
            slide: handleSliderSlide,
            change: handleSliderChange
        }); 
    });

    $("#fp_next_thumb").click(function() {
        console.log('fp_next_thumb.click');
        var slideval = parseInt($('#content-slider').slider("value"));
        $("#content-slider").slider({
            animate: true,
            value: (slideval + 10),
            slide: handleSliderSlide,
            change: handleSliderChange
        });


    });

function handleSliderChange(e, ui){
      console.log('handleSliderChange');
      var maxScroll = $("#content-holder").width() - $("#content-scroll").width();
      $("#content-scroll").animate({scrollLeft: ui.value * (maxScroll / 100) }, 200);
    }
function handleSliderSlide(e, ui)
    {
    console.log('handleSliderSlide');   
      var maxScroll = $("#content-holder").width() - $("#content-scroll").width();
      $("#content-scroll").animate({scrollLeft: ui.value * (maxScroll / 100) }, 20);
    }});

1 个答案:

答案 0 :(得分:6)

摆脱你的console.log电话。当开发工具未打开时,IE会对它们进行扼杀。