JavaScript setInterval 不适用于 asp net
JavaScript setInterval does not work with asp net
我希望标签文本 运行 在我单击按钮时具有动画效果,但它不起作用。如果我在函数外使用 window.setInterval(afun, 150) ,标签文本将 运行 自动事件我没有点击按钮。我的错误在哪里?抱歉我的英语不好。
<form id="form1" runat="server">
<div runat="server">
<p id="demo" runat="server">
<asp:Label runat="server" ID="label1">Animate Text</asp:Label>
<asp:Button OnClientClick=" return afun();" Text="button" runat="server" />
</p>
</div>
</form>
<script>
function afun() {
var element = document.getElementById('<%=label1.ClientID%>');
var eText = element.innerHTML;
var lengText = eText.length;
window.setInterval(function () {
eText = eText[lengText - 1] + eText.substring(0, lengText - 1);
element.innerHTML = eText;
},150);
}
//window.setInterval(afun, 150);
</script>
您的按钮将生成为表单内的 Submit
按钮,如下所示。
<input type="submit" name="ctl03" value="button" onclick=" return afun();">
您需要从 javascript return false
停止默认 posting。或者,如果您不希望按钮 post.
,也可以在代码中使用纯 HTML
按钮
如下更改您的 JavaScript
函数。
function afun() {
var element = document.getElementById('<%=label1.ClientID%>');
var eText = element.innerHTML;
var lengText = eText.length;
window.setInterval(function () {
eText = eText[lengText - 1] + eText.substring(0, lengText - 1);
element.innerHTML = eText;
}, 150);
return false; //ADDED THIS LINE TO STOP FORM POSTING
}
我希望标签文本 运行 在我单击按钮时具有动画效果,但它不起作用。如果我在函数外使用 window.setInterval(afun, 150) ,标签文本将 运行 自动事件我没有点击按钮。我的错误在哪里?抱歉我的英语不好。
<form id="form1" runat="server">
<div runat="server">
<p id="demo" runat="server">
<asp:Label runat="server" ID="label1">Animate Text</asp:Label>
<asp:Button OnClientClick=" return afun();" Text="button" runat="server" />
</p>
</div>
</form>
<script>
function afun() {
var element = document.getElementById('<%=label1.ClientID%>');
var eText = element.innerHTML;
var lengText = eText.length;
window.setInterval(function () {
eText = eText[lengText - 1] + eText.substring(0, lengText - 1);
element.innerHTML = eText;
},150);
}
//window.setInterval(afun, 150);
</script>
您的按钮将生成为表单内的 Submit
按钮,如下所示。
<input type="submit" name="ctl03" value="button" onclick=" return afun();">
您需要从 javascript return false
停止默认 posting。或者,如果您不希望按钮 post.
HTML
按钮
如下更改您的 JavaScript
函数。
function afun() {
var element = document.getElementById('<%=label1.ClientID%>');
var eText = element.innerHTML;
var lengText = eText.length;
window.setInterval(function () {
eText = eText[lengText - 1] + eText.substring(0, lengText - 1);
element.innerHTML = eText;
}, 150);
return false; //ADDED THIS LINE TO STOP FORM POSTING
}