Javascript 当模式弹出窗口打开时更改Div的背景图像
我试图在一个模式弹出窗口中动态更改div的背景图像。我第一次用SimpleModel进行了尝试,现在用jqueryui对话框进行了尝试。我两个都不能用。以下是我目前的代码:Javascript 当模式弹出窗口打开时更改Div的背景图像,javascript,jquery-ui,encoding,simplemodal,Javascript,Jquery Ui,Encoding,Simplemodal,我试图在一个模式弹出窗口中动态更改div的背景图像。我第一次用SimpleModel进行了尝试,现在用jqueryui对话框进行了尝试。我两个都不能用。以下是我目前的代码: //Jquery Dialog Attempt: //I have also tried it in the open event $(".Previous tr td img:not(.Help)").live("click", function(){ var mediumIma
//Jquery Dialog Attempt:
//I have also tried it in the open event
$(".Previous tr td img:not(.Help)").live("click", function(){
var mediumImage = $(this).parent().find("img.mediumImage");
var smallImageDiv = $("div#modal table tr td div#smallerImage");
var backgroundImageString = "url(\"" + mediumImage.attr("src").toString() + "\")";
smallImageDiv.css('backgroundImage', backgroundImageString);
$("div#modal").dialog({
height:300,
modal:true,
close: function(){
$(this).dialog('destroy');
}
});
});
//SimpleModal attempt
$(".Previous tr td img:not(.Help)").live("click", function(){
var mediumImage = $(this).parent().find("img.mediumImage");
var smallImageDiv = $("div#modal table tr td div#smallerImage");
$("#modal").modal({
onOpen: function(){
var backgroundImageString = "url(\"" + mediumImage.attr("src").toString() + "\")";
smallImageDiv.css('backgroundImage', backgroundImageString);
},
onShow: function(){
$("html").css("overflow", "hidden");
},
onClose: function(){
$("html").css("overflow", "auto");
$(".Previous tr td img").live("click", function(){});
$.modal.close();
}
});
});
编辑:根据戈普的建议
显然,在设置背景图像属性时,我遇到了一个奇怪的编码问题
测试:
解决方案:
我需要逃离我的图像路径
var backgroundImageString = "url(" + escape(mediumImage.attr("src")) + ")";
smallImageDiv.css('backgroundImage',backgroundImageString)代码>
应该是
smallImageDiv.css('background-image', backgroundImageString);
仍然没有出现在div中,但是谢谢你的建议!很抱歉,我现在意识到,jquery理解多个word属性的DOM格式,所以这不是您的问题。您是否检查过图像是否显示为404?您是否尝试将.toString()
全部删除。attr()将已经包含一个字符串。哈!在考虑过放弃.toString()这个东西之后,我只是想提出这个建议。格拉茨:)
smallImageDiv.css('background-image', backgroundImageString);