更新面板/回发/ javascript问题

时间:2017-05-05 00:35:41

标签: javascript jquery html updatepanel postback

我希望有人可以帮我解决更新面板/回发/ javascript问题。

我有一个div框,通过点击和一些javascript(btnOpenWindow)向上移动。 在该div中,我有一个按钮,它会导致回发,这一切都很好,但是这会导致窗口缩回到在css中定义的原始位置,而不是在受javascript影响的当前位置。

我可以看到发生了什么,但不知道如何解决它。

所以问题是 - 如何在没有div移动的情况下发生回发?

在hdnPopupWindowState中定义窗口的状态,0或1。我可以以某种方式使用它来检查div的位置,然后在回发后保存并重新呈现它吗?什么是最好的方式?

提前致谢...

    function btnOpenWindow() {

        var showWindow = document.getElementById('<%= hdnPopupWindowState.ClientID %>');

        if (showWindow.value === "0") {
            showWindow.value = "1";
            $('#popupWindow').animate({ bottom: '+=310px' });
        }
        else {
            showWindow.value = "0";
            $('#popupWindow').animate({ bottom: '-=310px' });
        }
    }



    <asp:UpdatePanel ID="UpdatePanel5" UpdateMode="Conditional" runat="server">
        <ContentTemplate>
            <div id="popupWindow" class="popupWindow">
                <asp:HiddenField ID="hdnPopupWindowState" Value="0" runat="server" />
                <asp:Table ID="tblTest" runat="server">
                    <asp:TableRow ID="TableRow47" runat="server">
                        <asp:TableCell >Welcome</asp:TableCell>
                    </asp:TableRow>
                </asp:Table>
                <input type="button" CausesValidation="false" id="btnStartChat" runat="server"  onserverclick="btnStartChat_Click" value="FFS" class="btnStartChat" />
            </div>
        </ContentTemplate>
    </asp:UpdatePanel>

1 个答案:

答案 0 :(得分:0)

在完成一些笨重的服务器端脚本注册后,我做了一些摆弄并提出了以下修复:

function pageLoad(sender, args) {
    $(document).ready(function () {
        var showChat = document.getElementById('<%= hdnChatWindowState.ClientID %>');

        if (showChat.value === "1") {
            //$('#chatWindow').animate({ bottom: '+=310px' });
            $('#chatWindow').css({ bottom: '+=310px' });
        }
    })

}