【发布时间】:2012-07-10 04:23:29
【问题描述】:
我目前正在为我公司的网站制作一个简单的交互式地图。我们正在尝试完全摆脱 Flash。
我正在做的是将地图上的点制作为 css 圆圈(带有背景颜色和 css3 圆角的链接),当将鼠标悬停在上面时,尺寸会略微扩大。
我遇到的问题是悬停动画不是很流畅。由于圆圈的性质,为了让它们在悬停时向外扩展而不向下移动,我必须使圆圈的位置稍微移动(悬停动画结束时顶部和左侧的 -5 个像素)。当我取下鼠标时,它会悬停回原来的大小和位置,但是它会跳跃一个像素并且有时看起来很乱。
这是我当前原型的链接:http://clients.taylordesign.com/td/map_v02/interactive-map.html
那么有没有办法让动画完美流畅呢?
我在 Mac、snow leopard、chrome、firefox 上看这个。
$(document).ready(function(e) {
$('a.location').each(function() {
var pos = $(this).find('span').position();
var posLeftHover = (pos.left - 5);
var posTopHover = (pos.top - 5);
$(this).hover(function() {
$(this).find('span').stop(true, false).animate({
height: '25px',
width: '25px',
left: posLeftHover,
top: posTopHover
}, 200);
}, function() {
$(this).find('span').stop(true, false).animate({
height: '15px',
width: '15px',
left: pos.left,
top: pos.top
}, 200);
});
});
});
【问题讨论】:
-
请添加您用于为圆圈设置动画的 jquery 代码。
标签: jquery css position jquery-animate