2012-05-05 34 views
6

我正在使用Twitter Bootstrap爲Joomla 2.5.x創建模板。我也想爲該模板使用Bootstrap Carousel插件。使用Joomla及其Mootools的Twitter Bootstrap旋轉木馬

當Carousel與Joomla的Mootools實現一起使用時,我遇到了問題。旋轉木馬元素的樣式正在變爲負邊界,使其對用戶不可見。爲了向您說明發生了什麼,我爲您準備了一張jsfiddle http://jsfiddle.net/U2pHH/11/

由於傳送帶更改樣式屬性,傳送帶會使用戶看不到每秒圖像,但用戶應該看到每張幻燈片。

我已經查看了Carousel插件和Mootools JS文件的源代碼,但遺憾的是無法找出問題的原因。我想也許它是jQuery和Mootools之間的函數/類的命名問題,但是在那裏找不到任何問題。

我希望你能幫助我。

編輯:我想出它與Fx.Slide類的mootools-more.js有關,從源代碼中刪除類解決了這個問題。但那仍然沒有真正的解決方案,任何幫助仍然非常感激。

+0

@Andres伊里奇 感謝固定它的工作在我的瀏覽器罰款標籤 – mjainta

+0

(剛試過的jsfiddle鏈接): 的Chrome 18的Mac OS 我看到三個不同的圖像,一個正常的,一個文字與綠色邊界和一個更大。 – ajimix

+0

是的,謝謝。這是我的不好,我做了解決方法,從Mootools註釋掉Fx.Slide類,並忘記更改JS文件的鏈接。我刪除了這個http://jsfiddle.net/U2pHH/11/ – mjainta

回答

0

問題是,Mootools更多的是與twitter引導衝突,這就是爲什麼它的行爲怪異的旋轉木馬。我建議你只使用jQuery或Mootools。這裏有一個引導Mootools實現:https://github.com/anutron/mootools-bootstrap

+0

感謝您的回覆。我也看到了Mootools的引導程序,但是還沒有看到有關jQuery引導程序的等價Carousel插件的實現。也許我應該留下解決方法,並等到有實施或參與並幫助創建它。 – mjainta

0

具有相同的問題。 我正在使用一個名爲JB Library的插件(http://www.joomlabamboo.com/joomla-extensions/jb-library-plugin-a-free-joomla-jquery-plugin),並且可以從管理中刪除Mootools和/或Mootools More。 關閉Mootools之後更多與旋轉木馬有關的問題是「固定的」。在評論更新方面可能會比評論更容易。除非你需要mootools-more.js用於網站上的其他內容。

希望很快會有更好的溶劑出現。

8

下面是具體到Joomla和MooTools的更多修復,

JQ調用後添加以下代碼,它可以在任何JS文件

添加

if (typeof jQuery != 'undefined') { 
(function($) { 
     $(document).ready(function(){ 
     $('.carousel').each(function(index, element) { 
       $(this)[index].slide = null; 
       }); 
     }); 
})(jQuery); 
} 
+1

嗯,這是對問題的完全解答。它解決了這個問題。謝謝你,貝恩! – simon

+0

我同意 - 這完美的作品!不需要搞亂Mootools(即使我使用Joomla擴展禁用它時也會讓我頭痛),只需在通常的文檔就緒代碼之後添加即可。 –

+1

我得到這個TypeError:$(...)[index]是undefined $(this)[index] .slide = null; @semyon的其他代碼效果更好。 – thednp

5

相同的另一種實現本安提供的東西是

if (typeof jQuery != 'undefined' && typeof MooTools != 'undefined') { 
    Element.implement({ 
     slide: function(how, mode){ 
      return this; 
     } 
    }); 
} 

我終於結束了 - 我創建定製Mootools更多構建沒有Fx。滑動

+0

這對我很有用,非常感謝。與前面的答案,我得到:TypeError:$(...)[index]是undefined $(this)[index] .slide = null; – thednp

+0

Thx!比其他的更好。 – StasGrin

0
(function($) 
{ 
    $(document).ready(function(){ 
     var bootstrapLoaded = (typeof $().carousel == 'function'); 
     var mootoolsLoaded = (typeof MooTools != 'undefined'); 
     if (bootstrapLoaded && mootoolsLoaded) { 
      Element.implement({ 
       hide: function() { 
        return this; 
       }, 
       show: function (v) { 
        return this; 
       }, 
       slide: function (v) { 
        return this; 
       } 
      }); 
     } 
    }); 
})(jQuery); 
+3

請解釋此代碼的作用以及它如何解決用戶的問題。 –

+3

儘管此代碼可能會回答問題,但提供有關如何解決問題和/或爲何解決問題的其他上下文可以提高答案的長期價值。 –