2010-01-04 27 views
13

在我的代碼工作,我創建一個UL李爲的jCarousel即其數據的列表(例如,照片列表)的jCarousel不能正常在Chrome

當照片數量比說4個,該jcarousel使水平滾動,以便看到下面的4張照片。

問題: 是,當我運行在Chrome代碼中的水平滾動保持禁用狀態,即使照片數量超過4,在其他瀏覽器它完美..

繼承人其中進口jQuery的文件中的代碼:

 function SetCarousel() { 

      $.getScript('<%=Html.LibUrl("jplugins/jquery.jcarousel.pack.js")%>', 
function(result) 
       { 

       jQuery('#CarouselUL').jcarousel({ 
        visible: 4 
       }); 
      }); 

     } 

我曾試圖闖民宅頁(CSS)的.js文件@頂部沒有工作..even使病情加重

請幫助

+4

這不是一個解決方案,但jQuery的迴旋處是一個完全更多令人敬畏的旋轉木馬插件。只是說... http://fredhq.com/projects/roundabout/ – 2010-01-04 08:12:16

+0

不錯的擡頭,這看起來不錯 – jsims281 2010-03-02 09:58:58

+0

環島是一個完全不同的風格,但是。 – JAL 2010-07-16 02:02:19

回答

0

我想你的意思是這個jCarousel

如果是,您使用的是什麼jQuery版本?

因爲這個插件很長一段時間沒有任何更新。目前的版本是0.2.3從2008年4月07日,對於這個版本的更新日誌說

版本0.2.3 - 2008-04-07更新
- jQuery來1.2.3版本。固定
- (希望)問題的Safari

我記得有一些問題開始1.2.6新版本的jQuery(今天我們在1.3.2的話)這個插件。

此外,您還必須知道,當前版本的jCarousel出現在Google Chrome的第一個版本(2008年9月8日發佈0.2版)之前。

+0

我在生產中使用了一個黑客版本,它在jQuery 1.4.2下工作正常。我無需對Chrome和Safari進行任何更改,以使其全面工作,但此處所述的修復程序已平滑化加載。你是正確的,通常插件是過時的,很長一段時間沒有看到任何更新。關於分叉的時間,我會說。 – JAL 2010-07-16 02:57:00

15

我在一個我正在處理的網站上通過註釋說明指定Safari的代碼來解決這個問題;由於某些原因,他們所投入的修復似乎已經過時。我正在使用jQuery 1.3.2。

這是我剝離出來的代碼:

jquery.carousel.js:約184線

/*if ($.browser.safari) { 
     this.buttons(false, false); 
     $(window).bind('load', function() { self.setup(); }); 
    } else */ 
     this.setup(); 

jquery.carousel.js:約858線

  /*if (p == 'marginRight' && $.browser.safari) { 
      var old = {'display': 'block', 'float': 'none', 'width': 'auto'}, oWidth, oWidth2; 

      $.swap(el, old, function() { oWidth = el.offsetWidth; }); 

      old['marginRight'] = 0; 
      $.swap(el, old, function() { oWidth2 = el.offsetWidth; }); 

      return oWidth2 - oWidth; 
      }*/ 

希望這個修復會幫助你和其他遇到問題的人!

+0

這絕對讓我從很多挖掘中獲益:)謝謝! – 2010-07-13 22:04:53

+0

這是救了我哦,我拉啦:)謝謝 – Aziz 2010-10-18 23:33:53

+0

我剛剛在一個網站上的輪播加載燈箱模式對話框(fancybox插件)jCarousel,我只面對Safari的問題。我已經試過這個解決方案,並且註釋掉了瀏覽器的嗅探塊,但是沒有骰子。我發現,當我右鍵單擊傳送帶中的圖像並檢查元素時,傳送帶開始工作。你可以在http://www.truthaboutsurminmining看到它。com/Environment/WhenMiningEnds – 2011-03-21 15:42:43

1

我試過1號解決方案,它的工作。好人,非常感謝。 我只是評論線:

/*if ($.browser.safari) { 
    this.buttons(false, false); 
    $(window).bind('load', function() { self.setup(); }); 
} else */ 
    this.setup(); 
0

很不錯... jquery.carousel.js:約184線

/*如果(.browser.safari $){ 這一點。按鈕(false,false); $(window).bind('load',function(){self.setup();}); } else */ this.setup();

jquery.carousel.js:約858線

 /*if (p == 'marginRight' && $.browser.safari) { 
     var old = {'display': 'block', 'float': 'none', 'width': 'auto'}, oWidth, oWidth2; 

     $.swap(el, old, function() { oWidth = el.offsetWidth; }); 

     old['marginRight'] = 0; 
     $.swap(el, old, function() { oWidth2 = el.offsetWidth; }); 

     return oWidth2 - oWidth; 
     }*/ 

這是工作得很好....謝謝....

1

這是真棒我的問題解決 感謝jsims281

在我來說,我已經使用

jquery.jcarousel.min

和註釋的代碼是 線無134至139

/*if(!q&& i.browser.safari){ 
      this.buttons(false,false); 
      i(window).bind("load.jcarousel",function(){ 
       g.setup() 
       }) 
      }else */ this.setup() 
      }; 

和線路無470至484

/*if(c=="marginRight"&&i.browser.safari){ 
      var d={ 
       display:"block", 
       "float":"none", 
       width:"auto" 
      },e,f; 
      i.swap(b,d, function(){ 
       e=b.offsetWidth 
       }); 
      d.marginRight=0; 
      i.swap(b,d,function(){ 
       f=b.offsetWidth 
       }); 
      return f-e 
      }*/ 
0

似乎在0.28版本只留下一個條件,它會導致延遲完成設置

基於Jsims281(感謝Jsims),我搜索了jCarousel v0.28的最小化版本,發現該行如下荷蘭國際集團:

!m&&g.browser.safari?(this.buttons(!1,!1),g(window).bind("load.jcarousel",function(){e.setup()})): 

應該評論以上爲:

/*!m&&g.browser.safari?(this.buttons(!1,!1),g(window).bind("load.jcarousel",function(){e.setup()})):*/ 
1

在0.2.9版本爲我工作。
我把縮小的版本,並把它通過http://jsbeautifier.org ,改變線以下95

}, null !== this.options.initCallback && this.options.initCallback(this, "init"), !c && d.isSafari() ? (this.buttons(!1, !1), a(window).bind("load.jcarousel", function() 
{ 
l.setup() 
})) : this.setup() 

}, null !== this.options.initCallback && this.options.initCallback(this, "init"), !c /*&& d.isSafari() ? (this.buttons(!1, !1), a(window).bind("load.jcarousel", function() 
    { 
     l.setup() 
    })) :*/ this.setup() 
相關問題