javascript - jQuery 背景图像 url

标签 javascript jquery html css image

我的代码运行完美,除了处理背景图像。 我有一个图像数组存储每个页面的图像(只有 2 张图像,直到我拍摄更多图像,所以它们会重复)。

出于某种原因,当我点击时图像没有改变...

此外,'info' 是一个包含页面名称的字符串(这是我的较大脚本的一小部分)。并且背景颜色变化效果很好,只有图像没有。

$(function () {
var pages = ["home", "about", "portfolio", "misc", "inquire"];

//Finding page corresponding to clicked link
function SetRequest (link, pages)
{
    lookingFor =  ".home";

    for (var i in pages)
    {
        if (link.hasClass(("." + pages[i]).toString()))
        {
            lookingFor = pages[i];
        }
    }

    return lookingFor;
}

//Hiding all other pages, showing page needed
//Also manages hero images/background colours
function ShowCurrentPage (page, pages, lookingFor)
{
    console.log(page, pages, lookingFor);
    if (page.hasClass("." + lookingFor))
    {
        $(".current").animate({opacity: 0}, 600);
        $(".current").removeClass("current");
        $("." + lookingFor).animate({opacity: 1}, 600);
        $("." + lookingFor).addClass("current");
    }

    SetHeroStuffYo(lookingFor);
}

function SetHeroStuffYo (info) {
    images = ['../images/index/hero-image.png', '../images/hero/car.jpg'];

    if (info == "home")
    {
        $("#hero-bg").css({'background-image' : 'url(' + images[0] + ')'});
        $("#heroColour").css({'background-color' : 'black', opacity : 0});
    }
    else if (info == "about")
    {
        $("#hero-bg").css({'background-image' : 'url(' + images[1] + ')'});
        $("#heroColour").css({'background-color' : 'red', opacity : 0.2});
    }
    else if (info == "portfolio")
    {
        $("#hero-bg").css({'background-image' : 'url(' + images[0] + ')'});
        $("#heroColour").css({'background-color' : 'lightgreen', opacity : 0.2});
    }
    else if (info == "misc")
    {
        $("#hero-bg").css({'background-image' : 'url(' + images[1] + ')'});
        $("#heroColour").css({'background-color' : 'cyan', opacity : 0.2});
    }
    else if (info == "inquire")
    {
        $("#hero-bg").css({'background-image' : 'url(' + images[0] + ')'});
        $("#heroColour").css({'background-color' : 'yellow', opacity : 0.2});
    }
}

$(".nav-link a").click(function(){
    ShowCurrentPage($(this), pages, SetRequest($(this), pages));
});});

最佳答案

使用浏览器工具检查是否实际添加了 css 样式(它将在 style 属性中)。然后使用浏览器工具确保在查找图像时没有错误(如 404 未找到错误)。来自 CSS 文件的 URL(相对于 CSS 文件本身)和添加了 JS 的 CSS(相对于页面本身)的差异可能是一个原因。

我没有看到任何明显的代码语法错误或任何东西,所以除了这些要检查的东西之外,我们可能至少需要更多代码(例如查看标记),如果您可以给我们一个指向实际复制问题的地方的链接。

关于javascript - jQuery 背景图像 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34584028/

相关文章:

javascript - 程序无效且属性设置不正确

Jquery - 将下拉菜单转换为单选按钮

javascript - 链接在 Bootstrap 导航栏中不起作用的菜单项

javascript - 在 dropdownchecklist 上调用 'destroy' 在 jQuery 2.1.3 中不起作用

javascript - 当不透明度为 0 时隐藏 div 中的可点击链接

javascript - Foundation,关闭所有打开的 Canvas 外菜单

javascript - 自动滚动到每个 div 暂停,然后继续前进

html - 如何防止空的 img 元素收缩?

javascript - 有没有办法将 Javascript 对象附加到选择选项

html - CSS 文件在单独的文件夹中时无法正确链接到 html