Javascript 如何在使用jquery点击超链接时更改页面上的壁纸?

Javascript 如何在使用jquery点击超链接时更改页面上的壁纸?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我的页面上有div部分,负责整个背景,css如下所示: #section2{ background-image: url(img/first.jpg); background-attachment: fixed; background-size: cover; z-index: 1; } 稍后在我的网页上,我有以下菜单项: <div class="section" id="section2"> <ul id="navlist"> &

我的页面上有div部分,负责整个背景,css如下所示:

#section2{
   background-image: url(img/first.jpg);
   background-attachment: fixed;
   background-size: cover;
   z-index: 1;
}
稍后在我的网页上,我有以下菜单项:

<div class="section" id="section2">
   <ul id="navlist">
    <li><a href="#" class="whatsthat">One</a></li>
    <li><a href="#" class="howitworks">Two</a></li>
    <li><a href="#" class="howmuch">Three</a></li>
    <li><a href="#" class="whyexists">Four</a></li>
   </ul>
</div>
这是因为在同一位置显示/隐藏不同的面板。我想实现为每个面板显示不同背景的可能性,例如,当用户选择whyexists时,它可以设置
背景图像:url(img/fourth.jpg),等等。
我怎样才能做到呢?

$('section2').css({'background-image':'url(img/fourth.jpg)})

只需使用jQuery
css()更改
#Section 2
的背景即可:

使用
$().css(属性、值)


您可以通过多种方式处理此问题:

为每个背景图像创建一个类,并将其应用于单击处理程序中所需的元素:

.bg1 {
  background-image: url(/path/to/some/background.jpg);
}
.bg2 {
  background-image: url(/path/to/some/other/background.jpg);
}
$element.addClass("bg1");
$anotherElement.addClass("bg2");
在jQuery中单击处理程序:

.bg1 {
  background-image: url(/path/to/some/background.jpg);
}
.bg2 {
  background-image: url(/path/to/some/other/background.jpg);
}
$element.addClass("bg1");
$anotherElement.addClass("bg2");
或者您可以直接修改内联css:

$element.css("background-image", "url(/path/to/some/background.jpg)");

希望这对您有所帮助。感觉您的JavaScript过于复杂了很多。顺便说一下,我相信jQuery的.bind()现在已经不受欢迎了。我以为它实际上已经被弃用了,但我想它还没有被弃用

不管怎样,我会这样做。显然,我对您的HTML结构做了一些假设

    $('#navlist').on('click', 'a', function(e) {
        var linkClass = $(this).attr('class'),
            requestedSection = $('#' + linkClass + 'div');
        requestedSection.siblings().fadeOut();
        requestedSection.fadeIn();
        $('body').css('background-image', '/images/backgrounds/' + linkClass + '.jpg');
        e.preventDefault();
    });
    $('#navlist').on('click', 'a', function(e) {
        var linkClass = $(this).attr('class'),
            requestedSection = $('#' + linkClass + 'div');
        requestedSection.siblings().fadeOut();
        requestedSection.fadeIn();
        $('body').css('background-image', '/images/backgrounds/' + linkClass + '.jpg');
        e.preventDefault();
    });