помогите с явой скриптом

Тема в разделе "Другие языки", создана пользователем valber, 8 апр 2008.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. valber

    valber Постоялец

    Регистр.:
    21 янв 2008
    Сообщения:
    55
    Симпатии:
    1
    есть такой скрипт

    Код:
    <script language=javascript>
    // Параметры для настройки
    var visible_images = <?=$visible_images?> // Количество видимых картинок
    var im_width = <?=$im_width?> // Ширина одной картинки
    // Расчитываемые параметры, менять не надо
    var start_pos
    var count_images = 0
    var im_half_width = im_width / 2
    var in_progress = 0
    // Функция для высталения начальных параметров
    function processLoad(images, first_image)
    {
      count_images = images
      changeImage(first_image)
    }
    // Функция смены картинки
    function changeImage(selected_image)
    {
      document.getElementById("full_image").src = selected_image.src
    }
    // Функция прокрутки влево
    function l(step)
    {
      var elem = document.getElementById("images")
      if(step == 0)
      {
        if(in_progress) return
        start_pos = elem.style.left.replace('px', '') * 1
        in_progress = 1
      }
      else
      if(step > Math.PI || -start_pos == (count_images - visible_images) * im_width)
      {
        in_progress = 0
        return
      }
      elem.style.left = start_pos - im_half_width + Math.floor(Math.cos(step) * im_half_width)
      step += Math.PI / im_half_width
      setTimeout('l(' + step + ')', 1)
    }
    // Функция прокрутки вправо
    function r(step)
    {
      var elem = document.getElementById("images")
      if(step == 0)
      {
        if(in_progress) return
        start_pos = elem.style.left.replace('px', '') * 1
        in_progress = 1
      }
      else
      if(step > Math.PI || start_pos == 0)
      {
        in_progress = 0
        return
      }
      elem.style.left = start_pos + im_half_width - Math.floor(Math.cos(step) * im_half_width)
      step += Math.PI / im_half_width
      setTimeout('r(' + step + ')', 1)
    }
    </script>
    


    он нормально работает только в опере. Подскажите, что нужно сделать чтоб он был совместим со всеми браузерами?
     
  2. smb14

    smb14 Постоялец

    Регистр.:
    28 янв 2007
    Сообщения:
    83
    Симпатии:
    18
    Может быть стоит для начала в конце строк поставить ; раз это JS
     
  3. masto

    masto Прохожие

    как раз в JS это необязательно ;)
     
  4. smb14

    smb14 Постоялец

    Регистр.:
    28 янв 2007
    Сообщения:
    83
    Симпатии:
    18
    Ты объясни тупому ИЕ что обязательно а что нет, когда будешь извращаться с синтаксисом скажем в JS библиотеке ExtJS
     
  5. masto

    masto Прохожие

    тебе надо, ты и объясняй.
    у меня нет проблем ни с extjs ни с mootools ни с IE.

    Да и в приведённом коде только чистый JS.
     
Статус темы:
Закрыта.