Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   background-position от 1 до 1000 (https://javascript.ru/forum/misc/31448-background-position-ot-1-do-1000-a.html)

Fedya 07.09.2012 21:57

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

Пример:

#qqq{
background: url(картинка) repeat;
background-position: x 50%;
}

x должен все время увеличиваться
как только дошел до 1000, пусть заново от 1 до 1000 идет, и так все время

Заранее спасибо.

devote 08.09.2012 06:05

Maxmaxmахimus,
element.style.backgroundPosition = x++ + 'px 50%';

Fedya 08.09.2012 14:33

<style>
#qqq{
background: url(bg_green.gif) repeat;
}
</style>
<script type="text/javascript">
var x = 1, element = document.getElementById('qqq');

setInterval(function(){
    element.style.backgroundPosition = x++ + 'px 50%';
    if(x > 1000) x = 1;
}, 16)

</script>
<div id="qqq">11
</div>

Не работает

melky 08.09.2012 17:14

element.style.backgroundPosition = (x = x - 1e3 && x + 1) + 'px 50%';



P.S. :)

Fedya 08.09.2012 18:02

Да, так работает, почти.

Срабатывает только один раз, скажите, пожалуйста, как сделать, чтобы работало не для одного дива.

<style>
#qqq{
background: url(bg_green.gif) repeat;
background-position: 0 0;
}
</style>
<script type="text/javascript">
onload = function () {

  var x = 1, element = document.getElementById('qqq');

  setInterval(function(){
      element.style.backgroundPosition = x++ + 'px 50%';
      if(x > 1000) x = 1;
  }, 16)
}
</script>
<div id="qqq">11
</div>
<div id="qqq">22
</div>
<div id="qqq">33
</div>

Fedya 08.09.2012 19:33

Спасибо большое.

melky 08.09.2012 23:49

Цитата:

Сообщение от Maxmaxmахimus
те кто пишет длинный и понятный код просто не способны придумыывать такие выкрутасы)))

обычное инлайновое присваивание.

я давно уже пишу 10 в какой-то степени в экспоненциальном виде - адски удобно.

присваивается ноль, если число равно тысяче, иначе делается присваивание x = x (поместить значение икса в икс)

всё же до безобразия просто.

Цитата:

Сообщение от Maxmaxmахimus
удобочитаемость для нубов, только настоящие профессионалы могут писать короткий и запутаный, но рабочий код)

:) что-то ты заряжаешь ) я могу по-всякому. если надо по-бырому - спагетти пойдёт.
но в проектах с долгосрочным "допиливанием" пишу так :


Часовой пояс GMT +3, время: 06:15.