我正在尝试解决在.gif
或beforeunload
事件中显示unload
图片时未设置动画的IE问题。我走进this answer,但发现它不起作用,所以我用这段代码玩了一下。
我有类似的东西:
var
spinner = $('.spinner-large'),
spinnerBackgroundImage = spinner.css('background-image');
console.log(spinnerBackgroundImage);
console.log($('.spinner-large').css('background-image'));
spinner.css('background-image', spinnerBackgroundImage);
console.log(spinner.css('background-image'));
spinner.show();
这不起作用。显示微调器,但没有背景图像。控制台包含:
backend-extra.js:97 url(http://127.0.0.1/images/spinner-large.gif)
backend-extra.js:98 url(http://127.0.0.1/images/spinner-large.gif)
backend-extra.js:102 none
我错过了什么?为什么我不能用jQuery设置整个background-image
属性值?
请注意,我don't want to set a path to image in background-image
property,因为我已经知道,how I should do this。我问:当我尝试使用上述方法更改时,为什么background-image
属性值重置为none
?
编辑:以上是问题的jsFiddle 。这似乎是与事件相关的100%beforeunload
问题。单击按钮时,相同的代码工作得很好,而在刷新页面或导航到任何其他URL时,控制台具有与上面相同的输出 - 属性不设置。
答案 0 :(得分:3)
网址周围应该有引号:
background-image: url("http(...)spinner-large.gif");
格式无效是足以使其变为无效的原因。否则,创建一个jsfiddle,codepen可能会有所帮助。这似乎不是明显的行为。
编辑:这超出了我的范围,但它似乎也不是你的错。我建议解决它。即使是以丑陋的方式也可能,比如没有动画IE的背景。 (无论如何,优雅地降级应该没问题!)