当我单击按钮时,我希望标签文本运行动画,但是不起作用。如果我在函数外部使用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();">
您需要false
从JavaScript中返回以停止默认发布。或者,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
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句