2012-09-08 42 views
0

的工作,我對我自己的jQuery slider.it工作並在Chrome和Firefox正常工作,但不是在IE.here是我的腳本。 有沒有人有解決方案?jQuery的滑塊不是在IE

這裏是我的CSS:

<style> 
    #rol{ 
     display: block; 
     width:950px; 
     height:154px; 
     margin:0 auto; 
     overflow:hidden; 
    } 

    #rol .prev-r,.next-r{ 
     position:absolute; 
     margin-top:60px; 
     width:11px; 
     height:37px; 
     cursor:pointer; 
    } 

    #pos{ 
     width:1500px; 
     float:left; 
    } 

    .next-r{ 
     background:url(/themes/classic/images/slider/rol-next.png) no-repeat; 
    } 
    .prev-r{ 
     background:url(/themes/classic/images/slider/rol-prev.png) no-repeat; 
    } 
    .next-r:hover{ 
     background:url(/themes/classic/images/slider/rol-next.png) no-repeat 0 -50px; 
    } 
    .prev-r:hover{ 
     background:url(/themes/classic/images/slider/rol-prev.png) no-repeat 0 -50px; 
    } 
    .partner-box { 
     color: white; 
     width: 218px; 
     height: 154px; 
     border: ridge 1px #666; 
     background-color: #16455D; 
     float: left; 
     margin: 0 10px 0 8px; 
    } 
</style> 

,這是我的HTML:

<div id="rol"> 
    <p style="float:left;margin-left:-20px;display:block;" class="prev-r"></p><p style="float:left;margin-left:960px;display:none;" class="next-r"></p> 
    <div id="pos"> 
     <div class="partner-box"> 
      <img src="partner/5prime.jpg" width="218" height="65" /> 
      <p> 
       Nucleic Acid Purification, PCR and RT PCR, Molecular Biology Reagents, Lab Essentials and Accessories ... 
      </p> 
      <a class="read-more" href="/partners/view/5prime">Read More</a> 
     </div> 
     <div class="partner-box"> 
      <img src="partner/metabion_header.jpg" width="218" height="65" /> 
      <p> 
       Oligonucleotides & Peptides :<br/> DNA, RNA, ZNA, Dual labeled probes, Light Cycler probes, Peptides, Antibodies 
      </p> 
      <a class="read-more" href="/partners/view/metabion">Read More</a> 
     </div> 
     <div class="partner-box"> 
      <img src="partner/54564.jpg" width="218" height="65" /> 
      <p> 
       We supply wide range of Real Time PCR, PCR and FEP kits for molecular diagnostics from InterLab Service Company ... 
      </p> 
      <a class="read-more" href="/partners/view/interlabservice">Read More</a> 
     </div> 
     <div class="partner-box"> 
      <img src="partner/logo_corpo[1].jpg" width="218" height="65" /> 
      <p> 
       IPSOGEN is currently the world leader in blood cancer molecular diagnostics ... 
      </p> 
      <a class="read-more" href="/partners/view/Ipsogen">Read More</a> 
     </div> 
     <div class="partner-box"> 
      <img src="partner/partner_cytocell.gif" width="218" height="65" /> 
      <p> 
       IPSOGEN is currently the world leader in blood cancer molecular diagnostics ... 
      </p> 
      <a class="read-more" href="/partners/view/cytocell">Read More</a> 
     </div> 
     <div class="partner-box"> 
      <img src="partner/aid.jpg" width="218" height="65" /> 
      <p> 
       IPSOGEN is currently the world leader in blood cancer molecular diagnostics ... 
      </p> 
      <a class="read-more" href="/partners/view/Aid-Diagnostika">Read More</a> 
     </div> 
    </div> 
</div> 

最後,這裏是我的jQuery script.i使用jQuery-1.7.1.min.js:

<script type="text/javascript"> 
$(document).ready(function() { 
    //img floating 
    var lock = true; 
    $('.prev-r').click(function() { 
     if(lock == true){ 
      lock = false; 
      var mleft = $('#pos').css('marginLeft'); 
      var mleft = mleft.slice(0,-2); 
      var mleft = parseInt(mleft); 
      var mleft = Math.abs(mleft); 
      var left = 240; 
      var next = mleft+left; 
      chdis(next); 
      $('#pos').animate({ 
       'marginLeft':'-'+next 
       },"slow",function(){ 
       lock = true 
       }); 
     } 
    }); 
    $('.next-r').click(function() { 
     if(lock == true){ 
      lock = false; 
      var mleft = $('#pos').css('marginLeft'); 
      var mleft = mleft.slice(0,-2); 
      var mleft = parseInt(mleft); 
      var mleft = Math.abs(mleft); 
      var left = 240; 
      var next = mleft-left; 
      chdis(next); 
      $('#pos').animate({ 
       'marginLeft':'-'+next 
       },"slow",function(){ 
       lock = true 
       }); 
     } 
    }); 
    function chdis(next){ 
     if(next == 0){ 
      $('.next-r').css('display','none'); 
     }else{ 
      $('.next-r').css('display','block'); 
     } 
     var img = $("#pos img").length; 
     var img = img * 240; 
     var img = Math.abs(img); 
     var img = img - 950; 
     if(next == 480){ 
      $('.prev-r').css('display','none'); 
     }else{ 
      $('.prev-r').css('display','block'); 
     } 
    } 
}); 

+0

這可能不是問題的原因,但一旦宣佈不要讓你重新聲明的變量。刪除部分代碼以查看哪些是有效的,哪些不是。順便說一句上傳的jsfiddle將使人們更容易看到什麼不順心 – Tosh

+0

是marginLeft有效的CSS屬性?我想你想要保證金。這可能搞砸了一切,因爲你是通過設置保證金 –

+0

@AlexReynolds定位圖像:我已經改成了保證金左,再次它沒有work.it給出錯誤在IE中。 – hamedkh

回答

0

我發現我的概率LEM。

IE自動設置#posleft-marginauto。所以當我嘗試分析它,並希望從它的值獲取的數字(例如想從12px12)它給了我AU而不是(因爲margin-left設置爲auto )。
通過設定爲零left margin#pos,滑塊在IE中工作過。
好運