我希望有人可以帮我解决更新面板/回发/ 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>
答案 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' });
}
})
}