我正在学习Asp.Net,在编写母版页后,我无法让它在客户端上运行(实际上看到动画)。线程等待操作在发布网页之前在服务器上完成,因此动画不是动态的。它仅显示页面的最终状态。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body bgcolor="red">
<center>
<h2>Hello w3schools!</h2>
<h4 id="aa">qq</h4>
<h3>
<p><%
for (int i = 0; i < 30; i++)
{
System.Threading.Thread.Sleep(25);
int txtLeft = 300 + (int)(100*Math.Sin(i));
int txtTop = 300+(int)(100*Math.Cos(i));
string theText = "Hello there!";
Response.Write("<div style=\"position:absolute; left: "+ txtLeft + "px; top:" + txtTop + "px; \">" + theText +"</div>");
}
%></p>
</h3>
</center>
</body>
</html>
我试过
runat =“client”(括号内的“p”字母附近)
但失败了:
Runat必须具有值Server。
答案 0 :(得分:2)
看看这个jsFiddle:
$(Start);
function Start() {
var txtLeft, txtTop, theText, theHTML;
theText = "Hello there!";
for (var i = 0; i < 30; i++) {
txtLeft = 300 + (100 * Math.sin(i));
txtTop = 300 + (100 * Math.cos(i));
theHTML = '<div style="position:absolute; left: ' + txtLeft + 'px; top:' + txtTop + 'px;">' + theText + '</div>';
$('#Demo').append(theHTML);
}
}
基本上,不需要服务器端编程来生成所需的输出;使用asp.net进行服务器工作。您可以做的是将此脚本与jquery引用一起添加到script
标记中的页面中,然后就完成了。