複数のjQueryライブラリを同時に使用するには
http://jsajax.com/articles/jQueryUsingMultipleVe …
上記サイトを参照しましたがわからなかったので質問いたします。
「1.3.2と1.1.3.1」のようにバージョンの違うjQueryライブラリを同時に使いたいのですが、
以下のように記述した場合、Feature Listが正常に動作しません。
バージョンの違うjqueryライブラリを同時に使うにはどのように設定すればいいのでしょうか
よろしくお願いいたしします
<script type="text/javascript" src="jquery/1.1.3.1/jquery.min.js"></script>
<script type="text/javascript" src="jquery/1.3.2/jquery.min.js"></script>
<!-- ▼jquery_auto -->
<script type="text/javascript" src="jquery/jquery_auto_j.js"></script>
<!-- ▼animatedcollapse.js -->
<script type="text/javascript" src="jquery/animatedcollapse.js"></script>
<script type="text/javascript" src="jquery/animatedcollapse-settings.js"></script>
<!-- ▼Feature List -->
<script type="text/javascript" src="jquery/jquery.featureList-1.0.0.js"></script>
<script language="javascript">
$(document).ready(function() {
$.featureList(
$("#tabs li a"),
$("#output li"), {
start_item:0
}
);
/*
// Alternative
$('#tabs li a').featureList({
output:'#output li',
start_item:1
});
*/
});
</script>
No.3ベストアンサー
- 回答日時:
> 「jQuery1131.js」「jQuery132.js」という名前でファイルを作成し、
> <script type="text/javascript" src="jquery/1.1.3.1/jQuery1131.js"></script>
> <script type="text/javascript" src="jquery/1.3.2/jQuery132.js"></script>
> ↑このような形で読み込み、
これはやり方を間違えてます。jQuery1131.js/jQUery132.jsという名前のファイルを作る必要はありません。
あとは、1.1.3.1 と1.3.2 の使い分けですが、
> jquery_autoが「1.1.3.1」で、
> 残りの二つを「1.3.2」で動作させたいのですが、
jquery_auto_j.js は、読み込むだけで動作して、特に設定は要らないスクリプトのようですね。
だとすると、利用コード部では1.3.2の$だけあればよく、1.1.3.1の$は不要で1.3.2の$と使い分ける必要がないので、jQuery132を作る必要はありません。
回答1は、
・スクリプト読み込み部は、後半の変数jQuery132を作る部分は不要
・スクリプト実行部の小細工は不要
ということになります。
あとは、スクリプトの読み込みだけの問題で、それに従って回答1のやり方で書き換えると、
---ここから---
<script type="text/javascript" src="jquery/1.1.3.1/jquery.min.js"></script>
<!-- ▼jquery_auto -->
<script type="text/javascript" src="jquery/jquery_auto_j.js"></script>
<script type="text/javascript">
var jQuery1131 = $.noConflict(true);
</script>
<script type="text/javascript" src="jquery/1.3.2/jquery.min.js"></script>
<!-- ▼animatedcollapse.js -->
<script type="text/javascript" src="jquery/animatedcollapse.js"></script>
<script type="text/javascript" src="jquery/animatedcollapse-settings.js"></script>
<!-- ▼Feature List -->
<script type="text/javascript" src="jquery/jquery.featureList-1.0.0.js"></script>
<script language="javascript">
$(document).ready(function() {
$.featureList(
$("#tabs li a"),
$("#output li"), {
start_item:0
}
);
/*
// Alternative
$('#tabs li a').featureList({
output:'#output li',
start_item:1
});
*/
});
</script>
---ここまで---
になるかと思います。
ご回答ありがとうございます。
「---ここから---」から「---ここまで---」の部分を記述しましたが、
何故かIE以外のブラウザで全く機能しませんでした。(IEもjquery_auto以外は駄目でした)
また、jquery_autoは1.1.3でなくても動作するようでした。
以下のようにして、
//Feature List の部分にFeature Listを記述したら3つとも動作するようになりました。
<script type="text/javascript" src="jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var jQuery132 = $.noConflict(true);
</script>
<script type="text/javascript">
(function ($) {
//Feature List
})(jQuery132);
</script>
jQuery の複数バージョンの同時使用例
http://stacktrace.jp/jquery/with_other_lib.html# …
こちらのサイトも参照してみましたがよくわかりません。
以下の記述の「=> 1.2.6」でバージョンを指定しているということでしょうか。
よろしくお願いいたします
<head>
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript">
// $ 関数および jQuery関数の上書きを元に戻します。
var $j = jQuery.noConflict(true);
// $ は jQuery ver1.2.6を参照します。
alert($.fn.jquery); // => 1.2.6
// jQuery は jQuery ver1.2.6を参照します。
alert(jQuery.fn.jquery); // => 1.2.6
// $j は jQuery ver1.4.2を参照します。
alert($j.fn.jquery); // => 1.4.2
</script>
</head>
No.2
- 回答日時:
jQueryよく知らないので、そもそもそのプラグインの実行に古いバージョンのjQueryが本当に必要かどうかは解りませんが、参考サイトにある方法を使って見やすく全角空白文字でインデントして書くと↓
<script type="text/javascript" src="jquery/1.1.3.1/jquery.min.js"></script>
<script type="text/javascript">
var j11 = $.noConflict(true);
</script>
<script type="text/javascript" src="jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
var j13 = $.noConflict(true);
</script>
(function ($){
$.function(){
//ここに、jQuery 1.1が必須なプラグインの処理を書く
});
})(j11);
<script type="text/javascript" src="jquery/jquery.featureList-1.0.0.js"></script>
<script type="text/javascript">
(function ($){
$.function(){
//ここに、jQuery 1.3以上が必須なプラグイン(featureList)の処理を書く
$.featureList($("#tabs li a"),$("#output li"),{start_item:0});
// Alternative
/*
$('#tabs li a').featureList({output:'#output li',start_item:1});
*/
});
})(j13);
</script>
で、出来るんじゃない...
No.1
- 回答日時:
jQuery は、基本的には $ を通してアクセスしますが、prototype.js などの $ を使うライブラリと共存するために noConflict というしくみがあります。
これを使えば、複数の jQuery を共存させることも可能になります。
まずはjQuery の読み込み部で、単に読み込むのではなく、
---ここから---
<script type="text/javascript" src="jquery/1.1.3.1/jquery.min.js"></script>
<script type="text/javascript">
var jQuery1131 = $.noConflict(true);
</script>
<script type="text/javascript" src="jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
var jQuery132 = $.noConflict(true);
</script>
---ここまで---
のようにします。
これで、jQuery 1.1.3.1 の $ は変数 jQuery1131 に、jQuery 1.3.2 の $ は変数 jQuery132 に置き換えられます。
あとは、実際にプラグインなどを使うところで、使いたいバージョンのjQuery変数 を $ で使えるようにします。
どのプラグインがどちらのjQueryに依存しているのかわかりませんので具体的には記述できませんが、
---ここから---
(function ($) {
$(document).ready(function() {
// ここに jQuery 1.1.3.1 に依存したコードを書く
});
})(jQuery1131);
(function ($) {
$(document).ready(function() {
// ここに jQuery 1.3.2 に依存したコードを書く
});
})(jQuery132);
---ここまで---
のようにします。
ご回答ありがとうございます
jquery_autoが「1.1.3.1」で、
残りの二つを「1.3.2」で動作させたいのですが、
「jQuery1131.js」「jQuery132.js」という名前でファイルを作成し、
<script type="text/javascript" src="jquery/1.1.3.1/jQuery1131.js"></script>
<script type="text/javascript" src="jquery/1.3.2/jQuery132.js"></script>
↑このような形で読み込み、
---------------------
(function ($) {
$(document).ready(function() {
// ここに jQuery 1.1.3.1 に依存したコードを書く
});
})(jQuery1131);
---------------------
「// ここに jQuery 1.1.3.1 に依存したコードを書く」の部分に、
jquery_auto_j.jsをそのまま貼り付けたのですが動作しません。
jquery.featureList-1.0.0.jsもそのまま貼り付けただけだと動作しなかったのですが、
先頭の【 ;(function($) { 】と、
末尾の【 })(jQuery); 】を外して、
残りを【// ここに jQuery 1.1.3.1 に依存したコードを書く】に貼り付けたら動作するようになりました。
featureList-1.0.0.jsは
【 $.fn.featureList = function(options) { 】や、
【 $.featureList = function(tabs, output, options) { 】のように書かれているのですが、
animatedcollapse.jsの場合は、
以下のように記述されています。
「// ここに jQuery 1.1.3.1 に依存したコードを書く」の部分に、貼り付けするだけでは動作しないのでしょうか。
よろしくお願いします。
---------------------
var animatedcollapse={
divholders: {}, //structure: {div.id, div.attrs, div.$divref}
divgroups: {}, //structure: {groupname.count, groupname.lastactivedivid}
lastactiveingroup: {}, //structure: {lastactivediv.id}
show:function(divids){ //public method
if (typeof divids=="object"){
for (var i=0; i<divids.length; i++)
this.showhide(divids[i], "show")
}
else
this.showhide(divids, "show")
},
hide:function(divids){ //public method
if (typeof divids=="object"){
for (var i=0; i<divids.length; i++)
this.showhide(divids[i], "hide")
}
else
this.showhide(divids, "hide")
},
toggle:function(divid){ //public method
this.showhide(divid, "toggle")
},
---------------------(一部抜粋)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
base64encodeでの文字化けについて
-
マスターページでのJavaScriopt...
-
JQuery の CrossSlideを設置し...
-
onmouseover="this.className=...
-
javascript:名('.$data.')で複...
-
jQueryの基本的なことについて...
-
jQuery.jsを使ったhtml外部読み...
-
colorbox 画像が表示されない
-
jqueryのcolorboxを読込直後に...
-
FLASH画像を表示した後のHTML
-
<a href="#" …>の意味を教えて...
-
javascriptとApacheの設定
-
bodyにidをつける理由は何ですか?
-
ウィンドウ名の設定
-
URLでEXEを呼出した際の、引数...
-
html メールリンクにて自動ファ...
-
openerの関係が崩れてしまった...
-
iframeの中から親ページをスム...
-
cssにjavascriptを入れる?呼び...
-
ウインドウの後ろに隠れている...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
bxslider、画像が3枚以上になる...
-
jquery ui.resizable 使い方
-
base64encodeでの文字化けについて
-
Base64に変換したHTMLの<script...
-
複数のjavascriptを使うと動か...
-
jqueryのcolorboxを読込直後に...
-
DreamWeaverでJS
-
画像をランダムにフェードイン
-
マスターページでのJavaScriopt...
-
<div>のタッチ状態を維持したま...
-
プラグイン無しでContactform7...
-
jqueryについて(Lightboxとbxs...
-
シャドウボックスとjQueryを共...
-
jqueryを2つ設置した事で片方...
-
音楽再生用jQueryプラグイン「j...
-
ソース上に出てくる理解不能な...
-
クロスドメインで取得したペー...
-
dojo(ライブラリ)のカレンダ...
-
よろしくお願いします。
-
jsファイルで配列を定義し、j...
おすすめ情報