我想创建一个简单的游戏,你必须从一个平台穿越到另一个平台,而不会从边缘掉下来。基本上,当您将鼠标悬停在第一个平台上时,游戏就开始了,一旦您到达最后一个平台,您就赢了。如果您在任何时候悬停,您将自动失败。
我正在开发我的第一个原型,我似乎无法使用同一个类为多个元素组合悬停效果。每当我离开第一个平台时,尽管与同一类的另一个元素重叠,事件仍会触发。有没有办法防止这种情况?
这是我的代码:
$('.platform-win').mouseenter(function() {
alert("You Win!");
});
$('.platform').mouseleave(function() {
alert("You Lose!");
});
/*Size & Positioning*/
.platform-container {
width: 1400px;
height: 700px;
position: relative;
}
.platform-win {
width: 90px;
height: 90px;
left: 1305px;
top: 605px;
position: absolute;
z-index: 1;
}
#one{
width: 1400px;
height: 100px;
position: absolute;
}
#two{
width: 100px;
height: 700px;
position: absolute;
left: 1300px;
}
/*Animations*/
/*Colors and Fonts*/
.platform-container {
background-color: grey;
}
.platform-win {
background-color: green;
}
#one{
background-color: rgba(255,0,0,0.5);
}
#two{
background-color: rgba(255,0,0,0.5);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="platform-container">
<div class="platform-win"></div>
<div class="platform" id="one"></div>
<div class="platform" id="two"></div>
</div>
使用relatedTarget
:
$('.platform').mouseleave(function(e) {
if ($(e.relatedTarget).hasClass('platform-container')) {
alert("You loose");
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句