jQuery元素的位置在播放和停止动画后重置
jQuery Element position is reset after show and stop animation
我使用jQuery .position()来定位一个元素。然而,当我显示动画并在ajax调用后取消它后,元素的位置被重置。
function showStatusMsg(msg) {
var $statusEl = $('#userActMenuStatus');
if ($statusEl.length == 0) {
$statusEl = $('<span id="userActMenuStatus">' + msg + '</span>');
$('#app_nav').append($statusEl);
$statusEl.position({
my: "right center",
at: "left center",
of: $('#userActMenu'),
collision: "fit"
}).css('left', parseInt($statusEl.css('left')) - 10);
} else {
$statusEl.html(msg);
}
}
$('#button1').click(function () {
showStatusMsg('saving...');
$('#userActMenuStatus').stop(true).show('drop', {
direction: 'up'
}, 'slow').effect('pulsate', {
'times': 100
}, 1500);
$.ajax({
type: 'post',
url: '/echo/json/',
data: 'save=data'
}).success(function (result) {
$('#userActMenuStatus').stop(true).hide('drop', {
direction: 'up'
}, 'slow');
});
});
http://jsfiddle.net/NhdgM/2/怎么回事?
免责声明:我必须使用jQuery v1.5.2和jQuery UI 1.8.12你期望position
表现如何?http://api.jquery.com/position/https://github.com/jquery/jquery/blob/master/src/offset.js L90
jQuery UI的.show()
和.hide()
设置左侧的CSS值有时和混乱的定位。我偶然发现了这个答案,建议只使用.animate()
并明确地为动画设置顶部CSS值。这就解决了问题。
小提琴
相关文章:
- 我需要在javascript if语句中使用jquery来动画元素的颜色
- 添加/删除类和动画元素的不同方法
- 悬停时动画元素的 JavaScript 问题
- 动画元素不会在悬停时更改样式
- 在jquery中使用索引动画元素
- 应该为“容器”元素和“动画”元素分配什么位置属性?HTML CSS JavaScript.
- 动画元素角度不消失
- JS获取动画元素的当前位置
- jQuery幻灯片和停止问题:动画元素随着鼠标的快速移动而冻结
- 在视图中检测动画元素
- 鼠标悬停和鼠标移出不触发动画元素
- jQuery动画元素和隐藏
- 当你向下滚动然后向上滚动时如何动画元素
- 当动画元素接触鼠标时触发mouseenter
- 使用滑动回调和Jquery动画元素在幻灯片
- 我如何动画元素存储在一个数组?除了我徘徊在上面的那个
- 引导工具提示跟随动画元素
- 点击动画元素
- 使用jQuery动画元素并调用stop()
- 如何显示动画元素时,它是在查看区域