число минус счетчик на 1 каждый раз, когда пользователь нажимает обновить, и когда он получает 1 сбросить обратно на 7 - JavaScript? - PullRequest
0 голосов
/ 16 марта 2012

У меня есть фрагмент счетчика, и сейчас он установлен так, что он отсчитывает от 7 каждые 1000 мс, но я хочу, чтобы это было

  1. не анимировать
  2. , когда пользовательОбновление кликов - оно уменьшается на единицу, поэтому оно статично.

Вот часть кода, который у меня есть на данный момент, а остальное в основном файле javascript, из которого он получает часть своего синтаксиса.

<script type="text/javascript">

    var myCounter = null
    var timerId = null

    function loadCounter() {
        myCounter = new Counter("my_counter",{
            digitsNumber: 2,
            direction: Counter.ScrollDirection.Upwards,
            characterSet: Counter.DefaultCharacterSets.numericUp,
            charsImageUrl: "_images/numeric_up_blackbg5.png",
            markerImageUrl: "_images/marker.png"
        });

        myCounter.value = 7;

        timerId = window.setInterval("myCounter.setValue(parseInt(myCounter.value) - 1, 450);", 1000); 
    }

    loadCounter();
</script>

Я довольно неопытен в javascript, так что, если вы могли бы быть тщательным, это было бы здорово.Большое спасибо:)

1 Ответ

1 голос
/ 16 марта 2012

Как и предполагалось в комментариях, ваши переменные javascript будут очищаться при каждом обновлении страницы. Таким образом, вы не можете сохранить счетчик в переменной JS.

У вас есть два варианта

1) если вы используете такую ​​технологию, как PHP, ASP и т. Д., Вы можете сохранить ее в текстовом файле.

2) использовать куки. Это, наверное, самый простой подход.

Таким образом, в первый раз, когда пользователь заходит на страницу, проверяется, существует ли файл cookie. Если это так, то вы можете увеличить счетчик в нем и проверить, равен ли он 7.

Если его не существует, создайте его, который вы, вероятно, захотите использовать сессионным cookie, чтобы он истекал, как только пользователь закрывает свой браузер, предполагая, что вы не хотите хранить счетчик, если пользователь посетил страницу неделю назад и вернулся снова сегодня. Смотрите здесь для получения информации о том, как читать и записывать сеансовые куки http://www.javascriptkit.com/javatutors/cookie.shtml

...