我有一个带箭头图像的垂直菜单(html列表)(作为div)。我希望箭头垂直滑动到点击的位置。
应该是一个非常简单的动画!
答案 0 :(得分:1)
Click here to see this in action.
<强> HTML 强>
<ul>
<li>Click</li>
<li>Here</li>
<li>And</li>
<li>Watch</li>
<li>The</li>
<li>Magic</li>
<li>Happen</li>
</ul>
<div id="bullet">♦</div>
<强> CSS 强>
ul { list-style:outside circle; padding-left:20px; }
li { cursor: pointer; }
#bullet { color:#0c0; padding:1px 0 0 3px; position:absolute; top:200px; }
重要的部分是#bullet { position:absolute; }
jQuery (在$(document).ready
)
$('li').bind('click', function(e) {
var offset = $(e.target).offset();
$('#bullet').animate({'top':offset.top},600);
});
非常简单!
答案 1 :(得分:0)
喜欢跟随:
$('#arrow_image').animate($('#vertical_menu').position(), 'slow');
position
可能是offset
,具体取决于具体情况。
编辑:嗯,读错了问题:)
将其移动到点击处理程序中的鼠标位置:
var click_handler = function(event) {
$('#arrow_image').animate(
{
left: event.pageX - $('#vertical_menu').offset().left
}, 'slow');
}
left
一如既往地依赖于箭头图像位于DOM中的上下文,如果它与body
相对于绝对位置,那么pageX
就足够了。