この質問に対する答えが見つからないようだったので、質問しようと思いました。私は最初の Web サイトを作成しています。マウスがその上に置かれたときに、個々のナビゲーション要素を上にスライドさせるために Javascript を少し使用しています。その後、マウスアウトすると、スライドして戻ります。
「上」が下にスライドする前にマウスが「上」要素から「下」要素に移動する場合を除いて、正常に動作しています。下。新しいマウスオーバー イベントが以前のものと混同されていると思いますが、修正方法がわかりません。
それが私の問題を説明していることを願っています.これが私が取り組んでいるコードです(CSSはナビゲーションタブごとに相対的な位置であるため、表示しませんでした):
Javascript:
var cartridges, obj, lastObj;
var velocity = 2;
function setUp() {
if (!document.getElementById) return;
cartridges = document.getElementsByClassName('navigation');
for (var i = 0; i < cartridges.length; i++) {
cartridges[i].onmouseover = slideUp;
cartridges[i].onmouseout = slideDown;
}
}
function slideUp(e) {
if (!e) var e = window.event;
obj = (e.target) ? e.target: e.srcElement;
var up = obj.style.top;
up = up.substring(0, up.length - 2);
parseInt(up);
function frame() {
up -= velocity; // update parameters
obj.style.top = up + "px"; // show frame
if (up <= -100) // check finish condition (negative because that pushes it up, otherwise it would go down
clearInterval(id);
}
var id = setInterval(frame, 10); // draw every 10ms
}
function slideDown() {
var up = obj.style.top;
up = up.substring(0, up.length - 2);
parseInt(up);
function frame() {
up++; // update parameters
obj.style.top = up + "px";
if (up >= 0) // check finish condition (negative because that pushes it up, otherwise it would go down
clearInterval(id);
}
var id = setInterval(frame, 10); // draw every 10ms
}
window.onload = setUp;
HTML:
<div id="navigation">
<ul>
<li><a class="navigation" href="index.html" ><img id="home" alt="Home" src="../images/cartridge_grey_index.png" /></a></li>
<li><a class="navigation" href="aboutme.html"><img id="aboutme" alt="About Me" src="../images/cartridge_grey_aboutme.png" /></a></li>
<li><a class="navigation" href="resume.html"><img id="resume" alt="resume" src="../images/cartridge_grey_resume.png" /></a></li>
<li><a class="navigation" href="projects.html"><img id="projects" alt="projects" src="../images/cartridge_grey_projects.png" /></a></li>
<li><a class="navigation" href="blog.html"><img id="blog" alt="blog" src="../images/cartridge_grey_blog.png" /></a></li>
<li><a class="navigation" href="contact.html"><img id="contact" alt="contact" src="../images/cartridge_grey_contact.png" /></a></li>
</ul>
</div>