如何通过悬停li元素来改变身体背景图像

时间:2015-10-10 18:29:39

标签: javascript jquery html css

我正在努力完成此网站在主页中所做的事情:http://ingrupo.net.br/

我需要在li元素悬停时更改我的身体背景图像,并且在每个元素上也需要更改不同的图像。

PS:没有必要,但如果有人可以帮助像这个网站这样的文本元素,那么它将是适当的。

2 个答案:

答案 0 :(得分:1)



body {
    background-size: cover;
}

<script>
function myFunction2() {
    document.body.style.backgroundImage = "url('https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Color_icon_red.svg/2000px-Color_icon_red.svg.png')";
}
</script>
<a href="link-to-where-you-want-to-go" onmouseover="myFunction2()">hello!</a>
&#13;
&#13;
&#13;

以下是您想要的示例,其背景使用css进行样式设置。

答案 1 :(得分:0)

试试这个https://jsfiddle.net/8k3kp6uu/

HTML

<div class="background-divs green active"></div>
<div class="background-divs blue"></div>
<div class="background-divs yellow"></div>

<ul class="links">
    <li><a class="link" data-background="green" href="">green</a></li>
    <li><a class="link" data-background="blue" href="">blue</a></li>
    <li><a class="link" data-background="yellow" href="">yellow</a></li>
</ul>

CSS

.background-divs {
    width: 100vw;
    height: 100vh;
    position: absolute;
    opacity: 0;
    top: 0;
    left: 0;
    right: 0;
    left: 0;
    visibility: visible;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.background-divs.blue {
    background-color: blue;
}

.background-divs.green {
    background-color: green;
}

.background-divs.yellow {
    background-color: yellow;
}

.links {
    position: absolute;
    top: 0;
    left:0;
    z-index: 5;
}

.links  li {
    border: 1px solid white;
    color: white;
    margin: 30px 0;
    padding: 10px;
}

.active {
    opacity: 1;
    visibility: visible;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

JS

$('.link').mouseover(function(e) {
e.preventDefault();
var color = $(this).attr('data-background');

$('.background-divs').removeClass('active');
$('.background-divs.'+color).addClass('active');

});