【发布时间】:2009-07-15 16:29:30
【问题描述】:
我有一个 div,当我将鼠标悬停在它上面时,我有一个要设置动画的子 div(另一个 div),但是当我将鼠标悬停在子 div 上时,父 div 失去焦点并且子元素开始动画,就像我离开一样父 div。
这是我正在使用的代码:
$$(".slide .item").each(function (element) {
element.observe('mouseover', function (event) {
element.writeAttribute('doing_animation', 'true');
element.down('.meta').morph('margin: 103px 0 0;', {
duration: 0.25,
afterFinish: function (event) {
element.writeAttribute('doing_animation', 'false');
}
});
});
element.observe('mouseout', function (event) {
setTimeout(function () {
element.down('.meta').morph('margin: 169px 0 0;', {
duration: 0.25
});
}, 250);
});
});
这里是标记:
<div class="item">
<div class="meta">
<h3><a href="#">Space Kitty Needz Moar Balls</a></h3>
<ul>
<li>From: <a href="#">Jeffdoe</a></li>
<li>Posted: 20 minutes ago</li>
<li>Views: 249,209</li>
</ul>
</div>
<img src="images/tmp/kitty.png" alt="" />
</div>
所以对于代码,我想悬停.item 或.item .meta 并且.meta div 仍将控制.item div 的焦点。我知道 jQuery 在这方面做得更好,但我需要使用 Prototype。
谢谢!
【问题讨论】:
-
我知道你说过你需要使用prototype而不是jQuery,但以防万一你不知道,只要你使用
jQuery.noConflict()就可以在一个页面上同时使用它们,这会将$函数返回给prototype.js(只留下jQuery函数暴露)。 -
我不想为这件事加载完整的 jQuery 库,所以我继续将我的所有代码迁移到 Rails 项目上的 jQuery。虽然我之前遇到过很多次这个问题,所以我仍然很好奇如何使用 Prototype 来做到这一点。
标签: javascript css prototypejs