我使用jQuery .position()定位元素。然而,當我顯示一個動畫並在ajax調用後取消它,元素的位置被重置。jQuery元素位置在顯示和停止動畫後重置
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
我需要將元素放置在另一個動態大小的元素旁邊。由於尺寸改變,我無法對其進行硬編碼。 – ericbowden
你沒有正確使用'''$ .position()'''。這是爲了讀取值,而不是設置。 –
它看起來像你指的是jQuery-ui的位置()'''http://api.jqueryui.com/position/ –