2

정말 이상한 문제가 있습니다. 슬라이더에 jQuery 1.7.1 및 UI 1.8.17을 사용하고 있습니다.jQuery UI 슬라이더 - 개발자 도구가 활성화되지 않은 경우 IE에서 작동하지 않습니다.

크롬, 사파리, FF의 매력처럼 작동합니다 (방화범이 끌리지 않는 한 ...). 지금까지 그렇게 좋았지 만!

IE에서는 작동하지 않습니다 (IE 8 &으로 테스트 됨). 그러나 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); 
    }}); 

답변

6

이 당신을 console.log 호출을 제거하십시오. dev 도구가 열려 있지 않을 때 IE는 그들을 질식시킵니다.

+1

당신은 내 영웅입니다 !! 감사합니다. – kapale

+0

안녕하세요. 기꺼이 도와주세요. – j08691

+1

오늘을 저장했습니다. 나는이 솔루션을 다른 어느 곳에서도 발견하지 못했을 것이다. –