現在、私のtheme.infoファイルには2つのスクリプトが含まれています。
scripts[] = js/backstretch.js
scripts[] = js/scripts.js
Backstretchは、ページ全体をカバーする拡大背景画像を可能にするjQueryプラグインです。
私は現在、JSを自動ロードするためにこのコードを使用しています:
(function ($) {
var bgs=["bg1.jpg", "bg2.jpg"];
var bgr=Math.floor(bgs.length * Math.random());
$.backstretch(bgs[bgr], { speed: 1000 });
})(jQuery);
2つの問題:
機能:site.com、site.com/page
機能しない:site.com/dir/page、site.com/dir/dir/page
私のスクリプトファイルで、OnPageLoad(またはPreload?)のどの関数を使用するのが最適でしょうか。
よろしくお願いします。
DrupalでのJavaScriptの管理 、特に動作に関するセクションをお読みください。次のようなことをする必要があります:
(function ($) {
Drupal.behaviors.exampleModule = {
attach: function(context, settings) {
var bgs=["bg1.jpg", "bg2.jpg"];
var bgr=Math.floor(bgs.length * Math.random());
$.backstretch(bgs[bgr], { speed: 1000 });
}
};
})(jQuery);