не работает скрипт в опере (JS)

Тема в разделе "Другие языки", создана пользователем sunyang, 6 фев 2011.

Модераторы: Цукер
  1. sunyang

    sunyang

    Регистр.:
    25 апр 2009
    Сообщения:
    444
    Симпатии:
    30
    Перенес шаблон на новую версию движка, вдруг перестал работать скрипт позиционирования дивки в зависимости от разрешения.
    На эксплорере и мозиле работает, на опере перестал почему-то.
    вот эта дивка:
    HTML:
    
    <div id="shopcart" align="right" style="padding-top:85px; padding-right:135px;">...</div>
    внизу страницы разместил код:
    HTML:
    
    if (window.screen.width == "800") document.all.shopcart.style.paddingRight = "65"
    if (window.screen.width == "1024") document.all.shopcart.style.paddingRight = "10"
    if (window.screen.width == "1152") document.all.shopcart.style.paddingRight = "135"
    if (window.screen.width == "1280") document.all.shopcart.style.paddingRight = "265"
    
    почему он может не работать в опере?
     
  2. JSilver

    JSilver Постоялец

    Регистр.:
    18 апр 2006
    Сообщения:
    106
    Симпатии:
    48
    проверил в опере 9.64 - работает
    попробуй через dragonfly посмотреть в чем проблема
     
  3. Mr.Emm

    Mr.Emm Постоялец

    Регистр.:
    5 май 2008
    Сообщения:
    145
    Симпатии:
    108
    Странно, как в Firefox может document.all работать... =\ пробуй document.all.shopcart записать так:
    var elem = document.getElementById('shopcart');
    далее будет так:
    elem.style.paddingRight...
     
  4. sunyang

    sunyang

    Регистр.:
    25 апр 2009
    Сообщения:
    444
    Симпатии:
    30
    Да прописал через document.getElementById('shopcart') и проставил значения в пикселах (80px). Вроде заработало.
     
  5. failometr

    failometr Постоялец

    Регистр.:
    30 апр 2009
    Сообщения:
    128
    Симпатии:
    45
    если хочется обращаться к элементам через
    Код:
    ... [B]document.all.[U]shopcart[/U].[/B]style.paddingRight
    то нужно в хтмл делать элемент с именем:
    HTML:
    <div name="shopcart" ...
     
  6. sunyang

    sunyang

    Регистр.:
    25 апр 2009
    Сообщения:
    444
    Симпатии:
    30
    name?? а что по id доступ к элементу не пойдет?

    <div id="shopcart"...
     
  7. failometr

    failometr Постоялец

    Регистр.:
    30 апр 2009
    Сообщения:
    128
    Симпатии:
    45
    Самый верный и стандартный путь обращения по id объекта (чтобы везде работало) это getElementById().
    Работать будет конечно и через document.all.your_id и даже через document.all["your_id"] , но не во всех браузерах и не во всех версиях.
    Подробнее здесь и здесь
    only english
    а еще по запросу в гугле "document.all vs getelementbyid" думаю можно еще больше найти :)