2011-03-23 83 views
0

傳送帶中使用以下JavaScript代碼。它在Mozilla,Chrome和ie8上運行良好,但下一個和上一個按鈕在ie7中不起作用。非常感謝你的努力。Internet Explorer 7傳送帶問題

jQuery(function() { 
    jQuery("#cakes-carousel").each(function(){ 
     var itemWidth = 405; 
     var Container = jQuery(this); 
     var List = jQuery('ul', Container); 
     var Items = List.find('li'); 
     var Previous = jQuery('.previous a', Container); 
     var Next = jQuery('.next a', Container); 
     List.width(Items.length * itemWidth).css('position', 'relative'); 
     function CheckButtons(index) 
     { 
      if(index + 1 >= Items.length) 
      { 
       Next.parent().addClass("disabled"); 
      } 
      else{ 
       Next.parent().removeClass("disabled"); 
      } 

      if(index - 1 < 0) 
      { 
       Previous.parent().addClass("disabled"); 
      } 
      else{ 
       Previous.parent().removeClass("disabled"); 
      } 
     } 

     function GetDescriptionElement(listItem) 
     { 
      var id = listItem.attr("id"); 
      if(!id){ 
       return null; 
      } 
      return jQuery("#description-" + id.replace("carousel-",""),Container); 
     } 

     function Scroll(listItem) { 
      List.stop(); 
      var index = Items.index(listItem); 
      CheckButtons(index); 
      var left = index * itemWidth * -1; 

      var descriptionElement = GetDescriptionElement(listItem); 
      var oldDescriptionElement = GetDescriptionElement(List.find('li.active')); 

      descriptionElement.fadeIn(500); 
      if(oldDescriptionElement) 
       oldDescriptionElement.fadeOut(500); 

      List.animate({ left: left }, 500, 'swing', 
      function() { 
       List.find('li.active').removeClass('active'); 
       listItem.addClass('active'); 
      }); 
     } 

     Previous.click(function(e) { 
      e.preventDefault(); 
      if(jQuery(this).parent().hasClass("disabled")){ 
       return; 
      } 
      var item = List.find('li.active').prev(':first'); 
      if (!item.length) { 
       item = Items.filter(':last'); 
      } 
      Scroll(item); 
     }); 
     Next.click(function(e) { 
      e.preventDefault(); 
      if(jQuery(this).parent().hasClass("disabled")){ 
       return; 
      } 
      var item = List.find('li.active').next(':first'); 
      if (!item.length) { 
       item = Items.filter(':first'); 
      } 
      Scroll(item); 
     }); 

    }); 
}); 
+0

按鈕不起作用?不可點擊,不可見或無功能? 你有沒有我們可以看的例子? – 2011-03-23 13:15:47

+0

實際上不起作用。即時在一個開發服務器上工作,所以我不能提供給你一個例子 - 對不起這個.. – ioannis 2011-03-23 13:27:16

+0

嗯,那麼我的第一個猜測將是一個Z指數的問題... – 2011-03-23 13:53:03

回答

0

我已經想出了一個解決方案。它需要以下CSS:

overflow:hidden 
position:absolute 

這是爲包含按鈕的div。