js счет

Если вы хотите получить что-то готовое и бесплатно, то пишите в этом разделе.
Ответить
Fedya
Сообщения: 174
Зарегистрирован: 21 июл 2012, 19:56

js счет

Сообщение Fedya »

Здравствуйте, скажите, пожалуйста, какой будет правильный код,
чтобы какой-нибудь переменной было присвоено числы от 1 до 1000, если переменная равна 1000, то пусть опять сначала, от 1 до 1000

смысл в том, чтобы переменную вставить в background-position, чтобы получилось как-будто анимация
вот как тут, например, _http://rp-sailent.ru/blog.php
там зеленая картинка как-будто анимированная.

у меня есть код, где прописано как на том сайте, но его надо переделать, а в js я ничего не знаю
function ProgressBarManager(className,static_text) {

Код: Выделить всё

if (className == null) className = 'progressbar_meter'; if (static_text == null) static_text = false;  var PBars = [] var tmpBars = getDivsByClass(className)             for (i=0; i<=tmpBars.length-1; ++i) PBars[i] = {bar : tmpBars[i], static_text: static_text, animate : null, render : null}delete tmpBars     function parseIntZero(value) {    value = parseInt(value)     if (isNaN(value)) return 0    else return value    }        function getDivsByClass(className) {    var divList   = document.getElementsByTagName('DIV')    var foundList = []     for (i=0; i<=divList.length-1; ++i)         if (divList[i].className == className) foundList[foundList.length] = divList[i]            return foundList    }        function AnimateBar(pid,newValue) {     if (newValue == null) {      newValue = parseIntZero(PBars[pid].bar.style.width)    PBars[pid].bar.style.width = '0%';     }     PBars[pid].bar.style.width = (parseIntZero(PBars[pid].bar.style.width) + 2) + '%';    if (!PBars[pid].static_text) PBars[pid].bar.innerHTML = PBars[pid].bar.style.width;     if (parseIntZero(PBars[pid].bar.style.width) < newValue) setTimeout(function(){AnimateBar(pid,newValue)},35)     }        function MoveImage(pid) {    var cur_x = parseIntZero(PBars[pid].bar.style.backgroundPosition)    if (cur_x > 1000) cur_x = 1     PBars[pid].bar.style.backgroundPosition = (cur_x + 1) + 'px'     setTimeout(function(){MoveImage(pid)},35)    }    return {            Live: function() {                for (i=0; i<=tmpBars.length-1; ++i) {                    AnimateBar(i)                    MoveImage(i)                }            },                      SetStaticText: function(id,value) {                 if (value == null) value = true                for (i=0; i<=PBars.length-1; ++i) if (PBars[i].bar.id == id) PBars[i].static_text = value            }        }}
Спасибо
Последний раз редактировалось bodnar 09 сен 2012, 16:09, всего редактировалось 1 раз.
Причина: Используй [code=javascript][/code] для оформления javascript кода.
Fedya
Сообщения: 174
Зарегистрирован: 21 июл 2012, 19:56

Re: js счет

Сообщение Fedya »

Если не понятно, то

Код: Выделить всё

#qqq{background: url(картинка) repeat;background-position: x 50%;}
x должен все время увеличиваться
как только дошел до 1000, пусть заново от 1 до 1000 идет, и так все время

так вроде понятнее)
Последний раз редактировалось bodnar 09 сен 2012, 16:10, всего редактировалось 1 раз.
Причина: Используй [code=css][/code] для оформления css кода.
Fedya
Сообщения: 174
Зарегистрирован: 21 июл 2012, 19:56

Re: js счет

Сообщение Fedya »

Вдруг кому-то понадобится

Код: Выделить всё

onload = function () {   var x = 1, element = document.getElementById('qqq');   setInterval(function(){      element.style.backgroundPosition = x++ + 'px 50%';      if(x > 1000) x = 1;  }, 16)} 
Ответить