2012-09-04 97 views
0

我有以下代碼:Twitter的插件與jQuery UI的手風琴發生衝突

<script src="http://widgets.twimg.com/j/2/widget.js"></script> 

<script> 

new TWTR.Widget({ 
    version: 2, 
    type: 'profile', 
    rpp: 4, 
    interval: 30000, 
    width: 250, 
    height: 350, 
    theme: { 
    shell: { 
     background: '#5785BC', 
     color: '#eff4fa', 
    }, 
    tweets: { 
     background: '#ffffff', 
     color: '#424242', 
     links: '#2480bd' 
    } 
    }, 
    features: { 
    scrollbar: false, 
    loop: false, 
    live: false, 
    behavior: 'all' 
    } 
}).render().setUser('Sometwitterpage').start(); 

</script> 
</div> 
<style type="text/css"> 
#twtr-widget-1 {float:right; border:solid 10px #e6edf5; } 

</style> 

這是相同的頁面jQuery UI的手風琴上,由於某種原因,從工作停止手風琴。我花了好幾個小時纔看到什麼打破了手風琴。包括http://widgets.twimg.com/j/2/widget.js時,手風琴只有中斷。該文件被壓縮,所以我不知道從哪裏開始。有沒有人遇到過這個?

回答

1
<script type="text/javascript"> 

    $.noConflict(); 
    jQuery(document).ready(function($) { 
    // Code for accordion here. 
    }); 
    // Code for twitter here. 

</script> 

它的工作原理是這樣,但有什麼辦法,我可以看到源 - 有你有一個你可以分享的網址?那麼我們就可以制定出更好的放置位置相關的代碼...

****** UPDATE ******

我更新這裏這篇文章是有點亂,與聊天什麼不工作等,所以,在努力「遏制」的信息..

有中沒有$(document).ready(function(){})<head>張貼到的jsfiddle,所以你可以嘗試調用來自Twitter的部件...

<body onload="new TWTR.Widget({}).render().setUser('Sometwitterpage').start();"> 
  • 編寫一個可以從onload調用的函數並且該函數包含對新的twitter部件的調用可能會更好。

  • onload只會在所有內容加載完畢後觸發,所有圖片等,所以您的手風琴應該已經工作,然後您可以調用Twitter小部件。據推測,用戶然後會看到Twitter小部件「出現」作爲頁面的添加元素。

信息重新onload="myFunc()",並與$(document).ready()這裏的區別... Difference between onload() and $.ready?

看看怎麼回事 - 如果不是,我們會想別的事情。

小號

******更新2 ******

好了,如果你沒有訪問<body>標籤試試這個:在

與手風琴方框:

<div id="accordion"> 
    <h3><a href="#">First header</a></h3> 
    <div>First content</div> 
    <h3><a href="#">Second header</a></h3> 
    <div>Second content</div> 
</div> 

<script type="text/javascript"> 

    $.noConflict(); 
    jQuery(document).ready(function($) { 
    // Code for accordion here eg... 
     $('.accordion .head').click(function() { 
    $(this).next().toggle('slow'); 
    return false; 
    }).next().hide(); 
    }); 

</script> 

,然後在與所述微博插件的塊:

<script type="text/javascript"> 

    //your original twitter widget code 
new TWTR.Widget({ 
    version: 2, 
    type: 'profile', 
    rpp: 4, 
    interval: 30000, 
    width: 250, 
    height: 350, 
    theme: { 
    shell: { 
     background: '#5785BC', 
     color: '#eff4fa', 
    }, 
    tweets: { 
     background: '#ffffff', 
     color: '#424242', 
     links: '#2480bd' 
    } 
    }, 
    features: { 
    scrollbar: false, 
    loop: false, 
    live: false, 
    behavior: 'all' 
    } 
}).render().setUser('Sometwitterpage').start(); 


</script> 

看到如何繼續下去......

****更新3 ****

<head>你的jsfiddle貼有以下包括:

<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery-ui-1.8.19.custom.min.js?m=20120904100316"></script> 


<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.prosteps.js?m=20120904100316"></script> 
<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.boxy.js?m=20120904100316"></script> 
<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.scroll-To.js?m=20120904100316"></script> 
<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.hoverIntent.js?m=20120904100316"></script> 
<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.jqzoom1.0.1.js?m=20120904100316"></script> 
<script type="text/javascript" src="http://www.somewebsite.com/scripts/jquery/jquery.tools.scrollable.min.js?m=20120904100316"> 

你有選擇打開/關閉這些功能 - 例如,如果你不打算使用jQuery工具滾動,關閉它 - 即不包括源.js文件。我的猜測是,問題來自衝突變量的可能性非常非常強,所以您可以嘗試通過關閉/打開各種腳本來隔離它。擺脫盈餘是一個明確的出發點。

+0

對不起,如果我看起來愚蠢,但我不明白在哪裏把該腳本。我必須添加我無法訪問body元素,因爲我們可以編輯的區域在body內部的div中 –

+0

手風琴元素在您的代碼中的樣子以及您使用的是哪些cms?附: lunctime - 早在30 –

+0

對不起,CMS是定製的,並在一些愚蠢的塊系統編輯頁面,每個塊是一個自包含的div。手風琴是jquery-ui標準手風琴 –

0

可能會有點simplisctic - 甚至可能不是最好的做法 - 但你試圖改變「包括」訂單 - 想必你已經有了一個

<script src="yourSource/jquery-ui.js"></script> 

我已經在過去的 - 改變先包含另一個的命令並開始工作。並非如此令人滿意的,因爲這實際上並不然而找出問題所在,它可能會再次滾...

小號

+0

由於cms的性質,ui腳本處於我無法訪問的頭部,並且此twiiter腳本包含在主體 –

+0

中,所以你應該首先包含twitter腳本嗎? –

+0

有沒有可以將這個與ui腳本分開的任何一種衝突腳本??? –