![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e6f04cf)
jqueryについて質問です。
過去こちらにお世話になりまして、一つの質問を解決していただきました。
しかしまた、わかったつもりになっていただけのようでして、再度問題が出てしまいました。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS" />
<meta http-equiv="Content-Script-Type" content="text/css" />
<link rel="stylesheet" type="text/css" href="main.css"></link>
<script type="text/javascript" src="accordian.pack.js" charset="UTF-8"></script>
<script type="text/javascript" src="jquery-1.3.2.min.js" charset="UTF-8"></script>
<script type="text/javascript" src="smartsticky.js" charset="UTF-8"></script>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function(){
new Accordian('basic-accordian',5,'header_highlight');
});
</script>
このように記述しましたが、どちらも作動しないという状態になってしまいました。
smartsticky.jsが、元々は<SCRIPT>内に書かれていたものを、まとめて外部に出したような感じだとは思うのですが、それに対しての対処が思いつきません。見ての通りjQuery.noConflict();を使っても見たのですが、まるで効果なしです・・・
accordian.pack.jsとsmartsticky.jsをバッティングさせずに上手く同時に動かす手段はありますでしょうか?
ちなみにこのページのscript自体はこの記事をのものです。
組み込みもこの記事を参考に行っています。
http://solidstate.jp/ContentsDisplay/floatingBox …
http://solidstate.jp/ContentsDisplay/accordion/s …
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ライブラリーの相性云々というのは、そのライブラリーで使われる変数名や、機能拡張が
他に影響しないかどうか、あるいは仕組みが相互に矛盾して無いかによります。
ライブラリーの中には、ある機能を提供するためだけに特化して作られ、他との併用は
考慮されてないもの(もちろん考慮されている物もある)や、
アプリケーションフレームワークと称して、ブラウザー毎の違いを吸収して、便利機能
をJAVASCRIPTを拡張するような感じで、簡単に使えるように提供するベースとなるライブ
ラリー(jQueryとかprototype.js、MooTools、Dojo...等)
そのベースとなるライブラリーを使うのを前提として、特定の機能を提供するライブラリー(LightBoxとか、jCarouselとかGalleryview、....無数にある)、そのベースとなる
ライブラリーを機能拡張するプログラム(プラグインと呼ばれる)
とか、様々あります。
どれとどれの併用がまずいかは、少しはソースコードが読めて、動作原理が
理解できないと判定は難しいと思います。
そおいった、意味で例えば、jQueryを使うなら、jQueryを利用するライブラリー
どおしを使えば、不具合が少なくなります。少なくなるだけです。
致命的な文法的なバッティングはなくなるでしょうが、仕組みが競合・矛盾してては
どうしようもありません。
なるほど、コード自体読めないと意味が無いわけですか。
以前のご解答でjQueryにアコーディオンメニューがあると教えていただいたので、それをベースに相性のいいフローティングメニューないしそれに代替するものを探してみようと思います・・・
No.2
- 回答日時:
どうしてもとゆうなら、できましたけど。
苦肉の策です。smartsticky.jsは<script>で組み込みません。
jQuery.noConflict();
jQuery(document).ready(function(){
new Accordian('basic-accordian',5,'header_highlight');
の後に直接、$.をjQuery.に置き換えた上で張っ付けます。
張っ付けの最後の行は、
jQuery('#basic-accordian').stickyfloat({ duration: 400 });
と変えましょう。
その後、treeviewの初期かもやってしまって、
jQuery("#filetree").treeview({// ターゲットとなる要素に付加するID
animated: "fast", //アニメーション設定(削除するとアニメ無し)
collapsed: true, //開閉設定(削除するとロード時にメニューを全開)
unique: true, //動作設定(削除すると自動的に閉じなくなる)
persist: "cookie", //Cookie
});
最後にjQuery(document).ready(function(){を
});
で閉じます。
すると、見事にアコーディオンがフローティングしながら、ついてきて、
開いたアコーディオン内の要素をクリックすると、ツリービューが出ました。
これで、3つ連結成功、でもほとんどお遊びで、あまり必要性ないような...
この回答への補足
貴方はこの前の!今回もありがとうございます。
<body>内に何も書いていないために、気を遣わせてしまいましたが、自分の目的(ここで語るのは場違いな気もしますが)は、左の固定メニューにアコーディオンメニューを、そのリンク先のページに拡張メニューとしてフローティングメニューを、と言う形なのです。(前回の件も、左の固定メニューに××を、リンク先のページの拡張メニューに〇〇というような狙いでした)
今回××と〇〇が変化したのは、その方が手間もかからないだろうし、ダブルクリックするならフローティングの方がいいだろうという考えです・・・
今回相談に参ったのは、前回方法を教えていただいたので、これを参考にすれば好きなプラグインつけ放題ではないのか?と早とちりして手当たり次第つけようと思っていたら、つまづいたという形です。
同じプラグイン・・・正直最近サイトを見始めてjQueryを知った程度なので、さっぱりですが、相性のいいもの、と捉えてよろしいのでしょうか?となると、今自分のやっている事は、機能だけに注目して相性などをまったく考えていない素人の行動のような感じになるのでしょうか?
No.1
- 回答日時:
前に回答したものです。
まだよくみてませんが、この際、「accordian.pack.js」は捨ててしまいましょう!
jQueryのプラグインライブラリーの中にもアコーディオンあります。
http://jqueryui.com/demos/accordion/
とか、
同じ系統のライブラリーだけ併用した方が幸せになれます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Jqueryの干渉について
-
base64encodeでの文字化けについて
-
<a href="#" …>の意味を教えて...
-
window.open でExcelファイルを...
-
Dreamweaver で 外部JSを読み込...
-
javascriptで変数を組み込みたい
-
AjaxでDBから取得したデータを...
-
なぜ外部jsファイルはコメント...
-
ボタンを押してテキストエリア...
-
別ファイルのfunctionの読み込み方
-
function の return 値を表示し...
-
ハイパーリンクに下線を表示す...
-
Chromeがiframe内の「#~」に釣...
-
javascriptでalertの文字列をコ...
-
ウインドウを縮小しても文字を...
-
input TYPE="FILE"で取得した画...
-
PrintScreenキーを無効にしたい
-
自動ジャンプでフォームデータ...
-
ウィンドウを最大化したい!
-
カウントダウンとカウントアッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
base64encodeでの文字化けについて
-
複数のjavascriptを使うと動か...
-
マウスオーバー+クリカブルマッ...
-
jquery ui.resizable 使い方
-
jqueryでのkeydownイベント発生...
-
Jqueryの干渉について
-
ebayの返信で『 Message may no...
-
<script>タグというのはどこか...
-
jqueryについて(Lightboxとbxs...
-
lightbox2 表示の不具合
-
外部JSファイルで値を受け取る方法
-
javascript外部読み込みの際の引数
-
colorboxの直接呼び出し方法に...
-
bxslider、画像が3枚以上になる...
-
同HTML内で複数のjQueryを設置...
-
DreamWeaverでJS
-
サイトにアクセスした際、数秒...
-
javaスクリプトについて質問で...
-
jsファイルで配列を定義し、j...
-
jqueryを2つ設置した事で片方...
おすすめ情報