IE6 специфический код JavaScript - PullRequest
       5

IE6 специфический код JavaScript

1 голос
/ 15 августа 2010

У меня есть скрипт проверки, который абсолютно позиционирует серию <span> с использованием позиционирования.Тем не менее, в IE6 позиционирование смещено примерно на 10 пикселей вправо (нужно добавить еще 10 пикселей справа).Мне было интересно, смогу ли я jQuery обнаружить IE6 и добавить еще 10 пикселей справа.Вот код, который у меня есть:

if ( ($item.val() == nameOrig) || ($item.val() == "") && ($.browser.msie && $.browser.version.substr(0,1)>6) ) {

        $(wrong).appendTo('body').hide().fadeIn("normal").css({
            'top' : position.top + 'px',
            'right' : ($item.width()*1.5) + parseFloat($item.css('padding-left'), 10) + parseFloat($item.css('margin-left'), 10) + parseFloat($item.css('padding-right'), 10) + extraSpace +'px'
        });

        $item.addClass('textError');
    }

По сути, я не мог понять, как добавить еще 10 пикселей в IE6, поэтому я хотел воздержаться от <span> (хранится в переменной wrong).от даже показ в IE6.Но даже это не сработало (иначе, оно появилось в IE6 ... тьфу).

РЕДАКТИРОВАТЬ: если бы кто-то мог просто объяснить мне, почему вышеупомянутый код работает для IE6, в то время как он конкретно говорит в1009 * чтобы скрипт работал только , если это IE> 6

Есть идеи?

Спасибо!Amit

1 Ответ

1 голос
/ 15 августа 2010

Я думаю, вы обнаружите, что проблема заключается в старой проблеме Box Model, в основном IE использует другую модель для определения отступов, полей и т. Д. В зависимости от ширины / высоты объекта. Это очень хорошо задокументировано в Википедии здесь .

Я бы предложил иметь несколько дополнительных / разных записей CSS, которые обрабатываются только для IE6, которые учитывают это, то есть увеличив ширину. Вы можете сделать это с помощью условных комментариев, также задокументированных здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...