IE6具体的javascript代码

时间:2010-08-15 18:34:26

标签: javascript jquery internet-explorer-6

我有一个验证脚本,它使用定位绝对定位一系列<span>。但是,IE6中的定位向右偏差约10px(在右侧需要再增加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');
    }

基本上,我无法弄清楚如何向IE6添加10个像素,所以我想避免<span>(存储在变量wrong中)甚至出现在IE6中。但即使这样也行不通(也就是说,它出现在IE6 ......呃)。

编辑:如果有人可以向我解释为什么上面的代码适用于IE6,而它在if statement中明确指出要让脚本只用 ,如果它是IE&gt; 6

有什么想法吗?

谢谢! 阿米特

1 个答案:

答案 0 :(得分:1)

我认为你会发现问题是旧的Box模型问题,基本上IE使用不同的模型,其中填充,边距等与实体宽度/高度有关。它在维基百科here上有很好的文档记录。

我建议有一些额外/不同的CSS条目只为IE6处理,考虑到这一点,即通过使宽度更大。你可以通过条件评论来做到这一点,也记录在案here