2012-05-01 4 views
0

GlobalPostは新しいビジネスページにIsotopeを使用することに非常に興奮しています。複数のJQを実行しているサイトでアイソトープと名前をつけたJQueryを使用すると、ブラウザのサイズ変更機能が破損する

http://www.globalpost.com/business-news

我々はDrupalの上で実行するため、既に各ページ上で実行されているのjQueryの古いバージョンを持っています。

私はページ上の

<script type="text/javascript" src="/sites/all/themes/globalpost_3/js/jquery-1.7.1.min.js"></script>  
<script type='text/javascript'> 
    // added to run both jquery releases on page and stop conflist with old JQ libraray 
var jQuery_1_7_1 = jQuery.noConflict(true); 
</script> 
<script type="text/javascript" src="/sites/all/themes/globalpost_3/js/jquery.isotope.min.js"></script> 
<script type="text/javascript" src="/sites/all/themes/globalpost_3/js/gp5_biz.js"></script> 

のような新しいJQを名前空間とそのエンド

....eturn this}})(window,jQuery_1_7_1); 

でそれは罰金ロードのようisitopeの分バージョンを編集し、あなたが見ることができるように細かい動作しますしかし、ウィンドウのサイズを変更してもブロックはリフローしません。フィルタや並べ替えを選択した場合は、フィルタリングは行いますが、ウィンドウのサイズ変更は行いません。私はあなたのコードを長く見ていましたが、問題を引き起こしている可能性があるか、それを修正する方法が分からないようです。

競合を避けるためにスペースをjqライブラリに指定する必要がありますが、サイズ変更は私がする前にうまくいきました。アイソトープとJQの名前をつける必要があると確信しています。あなたの助け

+0

アイソトープをv1.5.19にアップグレードしようとしましたか?あなたの縮小版v1.5.17コードで問題を再現しました。その後v1.5.19(変更されていない)に変更すると、すべてが正しく流れています。 –

+0

私はそれを試していなかったが、あなたが提案した後、私はやった。あなたがここに見るように変化はありませんでした。 http://web3.globalpost.com/business-news 他の提案はありますか? –

答えて

0

(とどのように)あなたが同位体を初期化しないため

のおかげ?参照されているjqueryと関係している可能性があります。私はこのようにそれをやった:

var jQuery171 = jQuery.noConflict(true); 
jQuery171(function(){ 
    var $container = jQuery171("#container"); 
    $container.isotope({ 
     itemSelector: ".element" 
    }); 
}); 
+0

最後のコメントは、私が新しいjqueryライブラリと実際に古いライブラリをどのように組み込んでいるかをもう一度見直しました。おそらく古いライブラリが悪い俳優だったかもしれないと思い始めました。 jsファイルのメインバッチに含まれているので、特定の名前空間を与えるために直接アクセスすることはできません。 私は、基本的に古いJQライブラリに基本的にすべての作業をさせるというアイデアを持っていました。 –

0

あなたは最後のコメントが私たちは、同様の新しいjQueryライブラリと本当に古いライブラリが含まれてどのように別の見てみました。私は古いライブラリが悪い俳優だったかもしれないと思っていて、jsファイル(Drupalシステム)のメインバッチに含まれているので、特定の名前空間を与えるために直接アクセスすることはできません。また、すべてのネイティブjq関数を再ネームスペースで実行することもできます。

私は基本的に古いJQライブラリは基本的にすべてが、それはそうのように、道のうち、名前空間にそれをして仕事だやらせるためのアイデアを持っていました。

<?php print $scripts; ?> <!-- all the JS for the site including old 1.3.2 JQuery --> 

<script type="text/javascript"> 
    var jQuery132 = $.noConflict(true); // Kill the old JQ now that it is done with initializing old script 
</script> 

<script type="text/javascript" src="/sites/all/themes/globalpost_3/js/jquery-1.7.1.min.js"></script> <!-- load shinny new JQuery which takes over $ and jQuery name space --> 
<script type="text/javascript" src="/sites/all/themes/globalpost_3/js/jquery.isotope.min.js"></script> <!-- non name spaced libs using default $ --> 
<script type="text/javascript" src="/sites/all/themes/globalpost_3/js/gp5_biz.js"></script> 

これは最善の方法ですか、それは機能しますか?

私がこれを手助けする貴重な時間を費やしてくれてありがとう。私はあなたの良いカルマを送ります。

+0

フィードバックに感謝します!助けて嬉しいです - アイソトープはクールなプラグインです。私の答えにも答えを記入してください。それが役立ちます。 –

関連する問題