Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.10.2012, 13:23
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Почему скрипт не работает в firefox?
<!DOCTYPE html>
<html>
<head>
    <title>3rert</title>
</head>
<body>
<input type="text" id="saveInput" maxlength="10" placeholder="name...">
<input type="button" id="saveButton" value="Cохранить">
<script>

    document.getElementById("saveInput").focus();


    document.getElementById("saveButton").onclick = function () {

        var input = document.getElementById("saveInput");
        var regEx = /[\W]/;

        if (!input.value || regEx.test(input.value)) {

            var time = 500,
                    dist = 3,
                    orig = input.style.cssText,
                    start = (new Date()).getTime();
            input.style.position = "relative";
            input.style.border = "2px solid #f00";
            input.style.boxShadow = "0 0 3px 1px #f00";

            animate();

            function animate() {
                var now = (new Date()).getTime(),
                        elapsed = now - start,
                        fraction = elapsed / time;

                if (fraction < 1) {
                    var x = dist * Math.sin(fraction*20*Math.PI);
                    input.style.left = x + "px";
                    setTimeout(animate, Math.min(25, time-elapsed));
                }
                else {
                    input.style.cssText = orig;
                    input.value = "";
                    input.focus();
                }
            }

        }
        else {
            alert(true);
        }

    };



</script>

</body>
</html>


Во всех браузерах работает анимация, а в firefox нет. почему?
Не срабатывает именно функция animate()

Последний раз редактировалось dmitry111, 23.10.2012 в 13:26.
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2012, 14:24
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Что-то у меня с firefox

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>3rert</title>
</head>
<body>
<input type="text" id="saveInput" maxlength="10" placeholder="name...">
<input type="button" id="saveButton" value="Cохранить">
<script>
    document.getElementById("saveButton").onclick = function () {
        var input = document.getElementById("saveInput");
        if (input) {
            alert("Вхождение в if");
            anim();
            function anim() {
                alert("функция anim");
            }
        }
    };

</script>
</body>
</html>


почему во всех браузерах срабатывают 2 алерта, а в firefox только первый?
Ответить с цитированием
  #3 (permalink)  
Старый 23.10.2012, 14:29
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

ReferenceError: anim is not defined
Вынесите anim после if() {}
Ответить с цитированием
  #4 (permalink)  
Старый 23.10.2012, 15:07
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

zebra,

спасибо.
Да, это я понял.

Не могу найти объяснение почему она не может быть определена.

Кстати, первый пример взял из книги Флэнагана

Последний раз редактировалось dmitry111, 23.10.2012 в 15:38.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт работает на локалки, но не работает на хостинге. Artem88 Общие вопросы Javascript 4 15.11.2012 00:59
Почему скрипт не работает с данными, которые вернул другой скрипт? Rooner jQuery 3 20.09.2012 14:56
Скрипт не работает в FF и опера, но работает в IE(в чем дело???) Cepera Firefox/Mozilla 1 24.08.2012 16:46
Почему скрипт работает в IE6 и не работает в opera и IE8? msufx Javascript под браузер 6 18.09.2009 18:44
Скрипт не работает в Opera, Firefox Faster Events/DOM/Window 2 08.08.2008 18:56