我已經創建了一個腳本,將li移動到mouseenter的左側40px並將其移回到mouseleave。它在大多數情況下都能正常工作,但它會經常出現故障,因此它會向左移動並且不會記錄mouseleave,因此它將保持向左移40px。然後當你再次滑鼠時,它會移動40px。這最後是一個錯位的列表。jquery動畫左側懸停不能正常工作
錯位列表圖片 -
下面是HTML和jQuery:
$(document).ready(function(){
$(".work ul li a").on("mouseenter", function() {
$(this).animate({
left: "-=40px",
}, 200)
});
$(".work ul li a").on("mouseleave", function() {
$(this).animate({
left: "+=40px",
}, 200)
});
$("#darl").on({
mouseenter: function() {
$("#bgimg1").fadeIn(200);
},
mouseleave: function() {
$("#bgimg1").fadeOut(200);
}
});
$("#chil").on({
mouseenter: function() {
$("#bgimg2").fadeIn(200);
},
mouseleave: function() {
$("#bgimg2").fadeOut(200);
}
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="work">
<h1 class="heading">Selected Projects</h1>
<div class="line"></div>
<ul>
<li id="darl">
<div class="container2"><div class="block">
<img class="bg-image" id="bgimg1" src="Images/perspective2final2pfolio2.jpg">
</div></div>
<a href="">1. Darlington Terrace</a>
</li>
<li><div class="thinline"></div></li>
<li id="chil">
<div class="container2"><div class="block">
<img class="bg-image" id="bgimg2" src="Images/DSC_0756.jpg">
</div></div>
<a href="">2. Children's Playground</a>
</li>
<li><div class="thinline"></div></li>
<li>
<div class="container2"><div class="block">
<img class="bg-image" id="bgimg3"src="Images/perspective2final2pfolio2.jpg">
</div></div>
<a href="">3. Lawn Bowl Bakery Bridge</a>
</li>
<li><div class="thinline"></div></li>
<li>
<div class="container2"><div class="block">
<img class="bg-image" id="bgimg4"src="Images/perspective2final2pfolio2.jpg">
</div></div>
<a href="">4. Aqueduct: Museum of Architecture</a>
</li>
<li><div class="thinline"></div></li>
<li>
<div class="container2"><div class="block">
<img class="bg-image" id="bgimg5"src="Images/perspective2final2pfolio2.jpg">
</div></div>
<a href="">5. Velocity Frequent Flyer Website</a>
</li>
<li><div class="thinline"></div></li>
</ul>
</div>
這裏是GitHub庫:https://github.com/mingweichan/CVwebsite
你嘗試添加.stop()與動畫,fadeIn,fadeOut? ..... $(this).stop()。animate()等等....我希望這將解決問題 – Qazi
.stop()使情況變得更糟:/ – Ming
'stop()'會中途停止動畫,而應該使用'finish()'來立即停止動畫,並且css屬性被設置爲目標值。 – abhishekkannojia