我試圖更新一個頁面的body元素的背景圖像,當我懸停與data-*
屬性的鏈接。它像一個魅力,但我無法找到一種方式來創建一個平滑的淡出之間的圖像,當一個鏈接懸停。這裏是我的代碼:jquery更新div背景
$(document).ready(function(){
\t $('.link').hover(
\t \t function() {
\t \t \t var bg = $(this).data('fond');
\t \t \t // alert(bg);
\t \t \t $('body').css("backgroundImage", 'url(' + bg + ')');
\t \t },
\t \t function() {
$('body').css("backgroundImage", 'url(http://sport-nc.com/wp-content/uploads/2015/06/India_Surf_Tours_-_17__1_.jpg)');
}
\t);
});
body {
\t margin:0;
\t background-image: url("http://sport-nc.com/wp-content/uploads/2015/06/India_Surf_Tours_-_17__1_.jpg");
\t background-repeat: no-repeat;
\t background-size: cover;
\t transition: all 1s;
}
header {
\t width: 50%;
\t margin: 50px auto;
}
h1 {
\t text-align: center;
}
nav {
\t position: absolute;
\t width: 50%;
\t top: 50%;
\t left: 50%;
\t transform: translate(-50%,-50%);
\t text-align: center;
}
nav ul {
\t padding: 50px;
\t background-color: rgba(0, 0, 0, 0.95);
}
nav ul li {
\t display: inline-block;
\t padding: 0 20px;
}
nav ul li a {
\t color: white;
\t text-decoration: none;
}
<header>
<h1>Hover a link, bro</h1>
</header>
<!-- Main -->
<main>
<nav class="main-nav">
<ul>
<li data-fond ="img/belharra.jpg" class="link"><a href="#">Belharra</a></li>
<li data-fond ="img/jaws.jpg" class="link"><a href="#">Jaws</a></li>
<li data-fond ="img/mavericks.jpg" class="link"><a href="#">Mavericks</a></li>
<li data-fond ="img/nazare.jpg" class="link"><a href="#">Nazare</a></li>
<li data-fond ="img/teahupoo.jpg" class="link"><a href="#">Teahuppo</a></li>
</ul>
</nav>
</main>
獎勵:有人能向我解釋爲什麼我不得不使用第二功能,當鼠標離開鏈接給身體原來的背景圖片?我認爲.hover()
方法會自動在目標元素上切換...
.hover()方法綁定mouseenter和mouseleave事件的處理程序。您可以使用它在鼠標位於元素內時簡單地將行爲應用於元素。
非常感謝您的幫助!
感謝您的編輯亞當 –