0
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)") {

为什么?我必须更改运行游戏的每台计算机的完整文件路径代码。不好。

谢谢。

4

1 回答 1

2

您可以使用indexOfwhich 返回找到的文本(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
}
于 2013-07-27T23:27:10.737 回答