检查背景图像javascript时必须写完整路径

时间:2013-07-27 23:19:57

标签: javascript css attributes

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

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

感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用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
}