如何在按下按钮后在JQuery / ASP.NET中创建淡入淡出标签
我认为这应该很简单,但我不太确定如何连线。
我有一个用户可以定义查询的页面。 完成后,用户输入查询的名称并按下按钮。 我想处理按钮单击,使文本标签(或跨度)可见几秒钟然后淡出。
由于它是一个回发,我可以将ASP:Label控件变为可见 – 这很容易。 现在,如何让jquery让标签在几秒钟后消失? 从更广泛的意义上讲,如何获得回发来触发jquery方法?
最简单的解决方案的奖金!
将asp标签文本作为空启动。
然后,您可以在每次加载页面时淡出标签,并在按下按钮后设置asp标签的文本。
Protected Sub btn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn.Click myLabel.Text = "You hit the button" End Sub $(document).ready(function() { $('#myLabel').fadeOut(3000, function() { $(this).html(""); //reset the label after fadeout }); });
这是一种低技术技术,可以将所有脚本保存在页面模板中:将$(document).ready()
函数添加到基于页面级变量有条件执行的页面中,如下所示…
// In your button's click handler, set this.UserHasClicked to true var userHasClicked = '<%= this.UserHasClicked %>' == 'True'; $(document).ready(function() { if(userHasClicked) { $(labelSelector).delay(2000).fadeOut(1000); } });
调用ClientScriptManager.RegisterClientScriptBlock
这样的东西……
var buttonFade = function() { $('#my .label .selector').fadeOut(2000); } setTimeout(buttonFade, 2000);
如果您发布了一些标记,我还可以尝试将setTimeout()放入标签出现时触发的函数中。