我想在LinkButton上实现一个slideUp jQuery效果,然后在页面上进行回发。效果需要600ms才能完成。我遇到的问题是,在jQuery效果完成页面之前已经回发了,所以jQuery脚本在中途停止了。有没有什么方法可以延迟回发,然后进行手动回发?
答案 0 :(得分:3)
可以提供一个仅在滑动完成时执行的滑动功能:
formDiv.slideUp('normal', function () {
$(form).submit();
});
答案 1 :(得分:0)
您可以在slideUp
动画的回调函数中调用加载/重新加载页面。
类似的东西:
$("#myElement").click(function() {
$("#otherElement").slideUp(600, function() {
// $("#form").submit(); // or
// window.location.assign("mypage.aspx");
});
})
如果您可以发布您的代码,我可以更详细地向您展示。
答案 2 :(得分:0)
您可以使用return false
阻止PostBack事件。然后使用正确的LinkButton名称__doPostBack
UniqueID
调用<script type="text/javascript">
function myFunction() {
//do stuff
setTimeout(function () { delayedPostBack(); }, 1000);
}
function delayedPostBack() {
__doPostBack('<%= LinkButton1.UniqueID %>', '');
}
</script>
<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="myFunction(); return false;" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>
手动调用按钮的PostBack。
<Style x:Key="myButtonStyle" ... >