jQuery将div放在屏幕上

时间:2012-02-20 22:50:22

标签: jquery jquery-ui

我想知道我是否能得到一些帮助来修改一个jQuery,我有动画在屏幕上div的位置。这是:

        <script type="text/javascript">
        (function ($) {
            $(function () {
                var offset = $("#<%= pnlMessageForm.ClientID %>").offset();
                var topPadding = 15;
                $(window).scroll(function () {
                    if ($(window).scrollTop() > offset.top) {
                        $("#<%= pnlMessageForm.ClientID %>").stop().animate({
                            marginTop: $(window).scrollTop() - offset.top + topPadding
                        });
                    } else {
                        $("#<%= pnlMessageForm.ClientID %>").stop().animate({
                            marginTop: 0
                        });
                    };
                });
            });
        })($telerik.$);
    </script>

它很棒,除非我在页面上滚动了一下。它仅在执行滚动时调整其位置。我需要它从中心开始......在这里有一个简单的修改,有人可以告诉我,这将实现这一目标吗?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以在绑定后以编程方式触发滚动事件。

这可以使用shotcut方法.scroll().trigger()方法

来完成
$(window).scroll(function () {
    ...
}).trigger('scroll'); // trigger the "scroll" event    

$(window).scroll(function () {
    ...
}).scroll(); // trigger the "scroll" event

<强> DEMO