私はdivの背景イメージを動的に変更するためにjQueryを使用しています。私のコードは次のとおりです。jQuery .css()変数を使用して
$.ajax({
url: '/countries/' + currentHash,
type: 'GET',
dataType: 'html',
complete: function(xhr, textStatus) {
//called when complete
},
success: function(data, textStatus, xhr) {
$('#info').empty();
var country_id = $('div#country_id', data).text();
$('#fancybox-outer').css('background', "#ffffff url(\"/system/backgrounds/" + country_id + "/large.jpg\") no-repeat top right");
// $('#fancybox-outer').css('background', '#ffffff url("/system/backgrounds/4/large.jpg") no-repeat top right');
$.fancybox(
$('#info').html(),
{
autoDimensions : false,
width : '800',
height : '600',
speedIn : 600,
speedOut : 200,
// scrolling : 'no',
padding : 0,
centerOnScroll : true,
overlayColor : '#333333',
overlayOpacity : 0.8,
transitionIn : 'fade', // 'elastic', 'fade' or 'none'
transitionOut : 'elastic', // 'elastic', 'fade' or 'none'
hideOnOverlayClick : false,
}
);
}
});
他のすべてがコードでうまくいっています。私は実際にあなたが読むのが簡単になるようにいくつか取り出しました。それはdiv内のcountry_idを取得しています。私はそれがそれを取得していることを確認するには、ページ上のdivにcountry_id変数を追加しようとしました。しかし、この部分は機能していません。
var country_id = $('div#country_id', data).text();
$('#fancybox-outer').css('background', "#ffffff url(\"/system/backgrounds/" + country_id + "/large.jpg\") no-repeat top right");
// $('#fancybox-outer').css('background', '#ffffff url("/system/backgrounds/4/large.jpg") no-repeat top right');
コメントアウトされた部分が機能します。私が何をすべきか考えていますか?
ありがとうございます!
が含まれていないことを確認する必要があるかもしれませんコード内で?期待しているものが含まれていると確信していますか? –
どのように「機能していない」のですか? JavaScriptのエラーが表示され、URLが設定されていませんか? divのURLが間違っていますか? – KingErroneous
あなたはhtmlも表示できますか? –