私はいくつかの jQuery をいじり、ファイルから HTML を読み込んでいて、トラブルに遭遇しました。基本的に、ページで URL パラメーターを抽出しdata.html
、 data がパラメーター値である場所に対応するファイルを読み込み、gallery
内部に格納されている HTMLdata.html
を divslider
に挿入し、NivoSlider (Jquery ギャラリー) をそのギャラリーにフックします。
すべて正常に動作しています - パラメータが見つかり、ファイルがロードされ、HTML が変更されました (firebug によると)。しかし、ギャラリーは、HTML が変更されていないと信じているかのように、アイドリング状態でそこに座っているだけです。
これが私のJqueryです:
//With respect to http://www.jquery4u.com/snippets/url-parameters-jquery/
$.urlParam = function(name){
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (!results) { return 0; }
return results[1] || 0;
}
$(window).load(function() {
//Attempt to extract the parameter for gallery.
var album = $.urlParam('gallery');
var path = album+ ".html";
//Is this legit?
if(album != 0){
//Kick into loading the gallery.
$("#slider").load(path);
//Load the gallery?
$('#slider').nivoSlider({
effect: 'fade',
animSpeed:0,
directionNav: true
});
}else{
path = "a.html"; //Reset path.
$("#slider").load(path); //Load.
//Load gallery
$('#slider').nivoSlider({
effect: 'fade',
animSpeed:0,
directionNav: true
});
}
});
HTML ファイルは次のように単純です。
<img src="a/img1.jpg" alt=""/>
<img src="a/img2.jpg" alt=""/>
ページなどを更新する必要がありますか? 私はこれをすべて localhost Web サーバー内で行っているので、AJAX 要求が適切に機能していることはわかっており、firebug は HTML が正しく挿入されたことを確認しています。
何かご意見は?前もって感謝します!