Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: JavaScript: текст движется по контуру квадрата с заданной пользователем длиной стороны
 
 автор: Den45   (09.04.2011 в 12:30)   письмо автору
 
 

Текст движется по контуру квадрата из заданного пользователем длиной стороны.

  Ответить  
 
 автор: cheops   (09.04.2011 в 16:25)   письмо автору
 
   для: Den45   (09.04.2011 в 12:30)
 

Здесь удобно воспользоваться таймером. Можно начать отталкиваться от следующего скрипта
<script type="text/javascript">
  var id = setInterval(function(){
    // Работа таймера
    var idt = document.getElementById('timer');
    idt.innerHTML = parseInt(idt.innerHTML) + 1;
    // Текст который движется
    var txt = document.getElementById('txt');
    // Размер квадрата
    var ids = document.getElementById('id_size');
    var size = parseInt(ids.innerHTML);
    // Координаты
    var idx = document.getElementById('id_x');
    var x = parseInt(idx.innerHTML);
    var idy = document.getElementById('id_y');
    var y = parseInt(idy.innerHTML);
    // Достигнут ли правый нижний угол
    var idl = document.getElementById('id_lr');
    var lr = parseInt(idl.innerHTML);
    if(x >= size && y >= size)
    {
      idl.innerHTML = 1;
      lr = 1;
    }
    // Идем влево
    if(lr == 0)
    {
      if(x < size)
      {
        idx.innerHTML = x + 1;
        txt.style.paddingLeft = x;
      }
      // Идем вниз
      else if(y < size)
      {
        idy.innerHTML = y + 1;
        txt.style.paddingTop = y;
      }
    }
    else
    {
      // Идем вправо
      if(y > 0 && x > 0)
      {
        idx.innerHTML = x - 1;
        txt.style.paddingLeft = x;
      }
      // Идем вверх
      else if(y > 0)
      {
        idy.innerHTML = y - 1;
        txt.style.paddingTop = y;
      }
      else
      {
        // Мы достигли начальной точки
        // отключаем таймер
        clearInterval(id);
      }
    }
  }, 20);
</script>
<div>size = <span id='id_size'>100</span>,
     x = <span id='id_x'>0</span>,
     y = <span id='id_y'>0</span>,
     lr = <span id='id_lr'>0</span>,
     timer = <span id='timer'>0</span></div>
<div id='txt'>Заданный текст</div>

  Ответить  
 
 автор: Den45   (10.04.2011 в 19:12)   письмо автору
 
   для: Den45   (09.04.2011 в 12:30)
 

Спосибо .

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования