私は、マウスを動かしたときに多くのアニメーションGIFを使用するウェブサイトを構築しています。たくさんの画像があり、特定のページで使用される画像のみをロードしたいと思っています。 WordPressを使用しているので、条件タグを使用して、特定のページに必要な画像のURLのみを出力することができます。PHPとjQueryを使用して画像をプリロードする - コンマ区切りの配列ですか?
私の問題は、どのイメージをプリロードする必要があるかをブラウザ/サーバーに伝える方法でした。 HTML5データ属性を含む要素にHTML5データ属性を追加することにしました。
例えば、私はそれで、このPHPとDIVを持っているでしょう:
PHPでこの関数を呼び出します<div id="home-container" class="preload" data-preload="<?php echo preloadImages(); ?>"></div>
:
function preloadImages() {
global $post;
$templateURL = get_template_directory_uri();
$images = array();
if(is_page('test'))
$images[] = "'".$templateURL."/images/gifs-static/button-info-tab-close-off.gif'";
$images[] = "'".$templateURL."/images/gifs-animated/button-info-tab-close.gif'";
}
return implode(", ", $images);
}
ので、出力はこのようになります:
<div id="home-container" class="preload" data-preload="'http://example.com/images/gifs-static/button-info-tab-close-off.gif', 'http://example.com/images/gifs-animated/button-info-tab-close.gif'"></div>
次に、このJavaScriptを実行します。
jQuery('.preload').each(function(){
var images = [
// Comma separated list
jQuery(this).data('preload')
];
jQuery(images).each(function() {
jQuery('<img />').attr('src', this).addClass('preloaded').appendTo('body').hide();
});
});
問題はJavaScriptがコンマ区切りリストを気に入らないということです。 URLに書き込むだけでうまくいきます。では、これらのURLを渡すより良い方法はありますか?または一般的にはより良い方法ですか?
.split()私は必要なものでした!ありがとう! –