我使用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');
});
});
发生了什么事?
免责声明:我必须使用jQuery v1.5.2和jQuery UI 1.8.12
答案 0 :(得分:0)
您期望position
表现如何? http://api.jquery.com/position/
https://github.com/jquery/jquery/blob/master/src/offset.js#L90
它看起来只是一个读者给我。
答案 1 :(得分:0)