我想在LinkButton点击上实现一个slideUp jQuery效果,然后在页面上回发。这个效果需要600毫秒才能完成。我遇到的问题是,在jQuery效果完成之前,页面已经做了回发,所以jQuery脚本在中途停止了。除了手动回发之外,还有什么方法可以延迟回发吗?
发布于 2011-12-06 17:20:43
可以提供仅在滑动完成时才执行的slideup函数:
formDiv.slideUp('normal', function () {
$(form).submit();
});
发布于 2011-12-06 17:19:49
您可以将加载/重新加载页面的调用放在slideUp
动画的回调函数中。
类似于:
$("#myElement").click(function() {
$("#otherElement").slideUp(600, function() {
// $("#form").submit(); // or
// window.location.assign("mypage.aspx");
});
})
如果你可以发布你的代码,我可以向你展示更多的细节。
发布于 2017-01-12 21:17:46
您可以使用return false
阻止PostBack事件。然后手动调用按钮的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>
https://stackoverflow.com/questions/8397545
复制相似问题