Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当模式弹出窗口打开时更改Div的背景图像_Javascript_Jquery Ui_Encoding_Simplemodal - Fatal编程技术网

Javascript 当模式弹出窗口打开时更改Div的背景图像

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

我试图在一个模式弹出窗口中动态更改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 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);