JavaScript setInterval не работает с сетью asp

1

Я хочу, чтобы текст ярлыка запускался, когда я нажимаю кнопку, но он не работает. Если я использую 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>
  • 0
    посмотрите, какую ошибку вы получаете в консоли разработчика в браузере, нажмите F12 и перейдите на вкладку консоли, если вы используете Chrome
  • 0
    Я проверил, в консоли пусто.
Показать ещё 2 комментария
Теги:
intervals
animation

1 ответ

0
Лучший ответ

Ваша кнопка создается как кнопка " 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
    }
  • 0
    Спасибо, ПСК. Это работает.
  • 0
    Эй, @ PSK. Как заставить эту кнопку запускать функцию в коде, чтобы изменить текст «Анимация текста», а затем запустить функцию javaScript, чтобы анимировать его.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню