javascript - jQuery 元素位置在显示和停止动画后重置

标签 javascript css jquery-ui jquery

我使用 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

在我看来它只是一个阅读器。

关于javascript - jQuery 元素位置在显示和停止动画后重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16901369/

相关文章:

javascript - json字符串中的换行符不会出现在js对象中

jquery-ui - jQuery UI DropShadow - 如何在 div 周围放置阴影

javascript - 如何在 Postback 上维护 UI 元素状态? (ASP.NET MVC)

javascript - 如何在 JQuery 中编辑 'clip' CSS 属性?

javascript - mongodb/mongoose findOneandUpdate 如何获取索引和删除对象

javascript - 如何在js中验证对象数组是否为空/null/未定义

javascript - jquery replaceWith 删除内容

html - 使内部 div 为外部的 100%

css - Safari 中的线性渐变不起作用

javascript - 强制 JQuery 对话框标题为多行