asp.net&jquery淡入淡出效果
我有一个名为“projects”,div id =“main”>的按钮和一个标签在里面。该页面的正文写在标签上。当我按下按钮时,文本将改变,使用label.text = ..在C#中的button_Click事件中。这是按钮:asp.net&jquery淡入淡出效果
<asp:Button ID="projects" runat="server" OnClick="projects_Click"/>
我想要做的是在更改文本时添加淡入淡出效果。我看到最简单的方法是使用jQuery。我加了这一点:
<head>
<script type='text/javascript'>
$(function() {
$("#projects").click(function (e) {
e.preventDefault();
$('#main').fadeOut(1000);
$("#main").fadeIn(1000);
});
});
</script>
</head>
现在发生的是,如果我按下按钮的项目,文本只淡出,然后消失在,但它没有改变,不执行projects_Click。如果我删除e.preventDefault(); ,文字改变但没有消退效果。我怎样才能让他们一起工作?旧文本淡出,projects_Click被执行并且fadeIn开始生效。
如果你能以下部分(在你的问题中提到),以JS移动,那么它会工作..
When I press the button, the text changes, using the label.text = .. inside the button_Click event inside C#.
比方说,该文本是XYZ,那么你可以不喜欢这样。
$(function() {
$("#projects").click(function (e) {
e.preventDefault();
$("#main").html("XYZ");
$('#main').fadeOut(1000);
$("#main").fadeIn(1000);
});
});
如果这是在服务器端的计算,然后将这些代码块到webmethod
,做一个在ajax call
.click
事件,在成功处理程序设置文本并做动画。
教程上面 - http://www.aspsnippets.com/Articles/Calling-ASPNet-WebMethod-using-jQuery-AJAX.aspx
OR
我有一个建议。
- 在aspx中定义一个javascript函数。如下。
function animate(){ $('#main').fadeOut(1000); $("#main").fadeIn(1000); }
- 在按钮点击事件处理,设置标签文本,使用下面的行来启动在页加载(动画网页提交/按钮点击事件处理程序之后后完成)。
Page.ClientScript.RegisterStartupScript(this.GetType(), "scr", "<script>animate();</script>");
注意 - 你不能同时使用服务器端代码来设置一些文字或做preventDefault
设置动画JS。这会让你在赶上22的情况。
文字太大而无法放入脚本中。 由于它是为一个键制作的,因此我最终必须使其适用于页面上的每个键。
我这样做:
<head>
<script type='text/javascript'>
$(function() {
$('#main').hide;
$("#main").fadeIn(1000);
});
});
</script>
</head>
此函数执行每次页面重新加载,并因为这是一个页面的网站在中间唯一的主要内容发生变化,它是在每一个按钮点击执行。 Aspx更改文本,jQuery立即隐藏它,并且它慢慢淡化。没有淡出,但这种方法也很好,考虑它,我更喜欢它。
这个答案或者像上面解释的那样工作,或者问题的更多细节?如果问题存在,则需要提出疑问,而不是回答。 – 2014-10-19 12:17:37
@ user276 ...,如果您打算将其作为我回复帖子的“答复”发布,请发表评论(使用“添加评论”)。顺便说一句,我告诉你用户'animate()' - 自定义JS函数,并从按钮点击调用,但你完全不正确的方式。 – 2014-10-19 14:13:00
您需要了解服务端功能与客户端功能的区别。 Javasctipt/jQuery在服务器上的浏览器asp.net上执行。 Ajax经常被用来弥补这个差距。在代码中有'preventDefault();'是停止执行服务器端代码,因为这是按钮的默认操作。 – 2014-10-19 11:48:54
您是否尝试过我的解决方案(第2部分)? – 2014-10-19 12:16:49
我告诉你用户'animate()' - 自定义JS函数,并从按钮单击调用它,但是你完全不正确的方式。 – 2014-10-19 14:13:15