質問: $('#thumbs').galleriffic({ delay: 3000, // in milliseconds }); }); 私が行き詰まっているのは、私がjquery(document)の部分で始まるスクリプトをたくさん見つけているということです。そのように始まるスクリプトを追加しようとすると、すべてが壊れます。これは本当に愚かな質問だと思いますが、新しいアドオンスクリプトを変更して、現在のファイルでうまく動作するようにするにはどうすればよいですか。これについてあなたの助けと時間をありがとう。ここでは遅いプロセスですが、jsを勉強しようと努力しています。
回答: jquery(document).ready イベントは、ドキュメントdomを操作する準備が整ったときに呼び出されます。以前はすべてのハンドラをdocument.loadにアタッチしていましたが、これはすべてのイメージもロードされるまで待機します。ほとんどの場合、これは不要です。このイベントにフックするには3つの同等の方法と、ほぼ同等の4番目の方法があります。// long form jquery(document).ready(function() { // your handler }); // short form jquery(function() { // your handler }); // intermediate form (not recommended) jquery().ready(function() { // your handler }); // classic event binding - will not be executed again if you hook it too late jquery(document).bind("ready", function() { // your handler }); jqueryの代わりに$が使用されているのを見ることがあります。これは短絡されているので簡単ですが、他のjsライブラリーでも使用されています。他の人に上書きされないようにするために、jqueryは noconflictモード で実行できます。これは$は使用されず、jqueryのみが使用されることを意味します。しかし、あなたのreadyハンドラへの最初の引数はjqueryオブジェクト自身になるでしょう。つまり、function($) {}のようにハンドラーを書くことができ、関数の中で$を使うことができます。だからあなたのコードはこのようなものになるでしょう:jquery(function ($) { function mycarousel_initcallback(carousel) { jquery('.jcarousel-control a').bind('click', function() { carousel.scroll(jquery.jcarousel.intval(jquery(this).text())); return false; }); jquery('.jcarousel-scroll select').bind('change', function() { carousel.options.scroll = jquery.jcarousel.intval(this.options[this.selectedindex].value); return false; }); // next button $('#mycarousel-next').bind('click', function() { carousel.next(); return false; }); // prev button $('#mycarousel-prev').bind('click', function() { carousel.prev(); return false; }); }; // we are already in the 'ready' event handler, no need to hook into it again // just add our code here! var gallery = $('#thumbs').galleriffic({ delay: 3000, // in milliseconds }); } より純粋なjavascriptの質問がある場合は、私たちの "親"サイト、 スタックオーバーフロー で質問してください。彼らは たくさんのjqueryの専門知識 をそこに持っています。