if ($("#canvas").css('background-image') == 'url(images/endOfGame.jpg)') {
不起作用。但这确实:
var element = document.getElementById('canvas');
var style = window.getComputedStyle(element);
var imagex = style.getPropertyValue('background-image');
console.log(imagex);
if (imagex === "url(file:///C:/Users/Jack/Documents/myGames/Pong/images/endOfGame.jpg)") {
这不是:
var element = document.getElementById('canvas');
var style = window.getComputedStyle(element);
var imagex = style.getPropertyValue('background-image');
console.log(imagex);
if (imagex === "url(images/endOfGame.jpg)") {
为什么?我必须更改每台运行游戏的计算机的完整文件路径代码。不好。
谢谢。
最佳答案
您可以使用 indexOf
返回找到的文本的字符位置(0 及以上)或 -1 如果找不到:
if (imagex.indexOf("url(images/endOfGame.jpg)") >= 0) {
// yes, string contains that text
}
我更愿意:
if (imagex.indexOf("images/endOfGame.jpg") >= 0) {
// yes, string contains that text
}
忽略 url(..)
。以下版本忽略大小写差异(大写或小写):
if (imagex.toUpperCase().indexOf("images/endOfGame.jpg".toUpperCase()) >= 0) {
// yes, string contains that text
}
关于javascript - 检查背景图片javascript时必须写完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17903426/