在IE8/IE7 Javascript代码上接收null
我不是JavaScript方面的专家,但我有一个简单的函数,可以在除IE8和IE7之外的所有浏览器中正常工作在IE8/IE7 Javascript代码上接收null,javascript,jquery,internet-explorer-8,Javascript,Jquery,Internet Explorer 8,我不是JavaScript方面的专家,但我有一个简单的函数,可以在除IE8和IE7之外的所有浏览器中正常工作 function setSelected() { var backgroundPos = $('div.eventJumpToContainer').find('.selected').css('backgroundPosition').split(""); var xPos = backgroundPos[0]; var yPos = '-100px';
function setSelected() {
var backgroundPos = $('div.eventJumpToContainer').find('.selected').css('backgroundPosition').split("");
var xPos = backgroundPos[0];
var yPos = '-100px';
var toSet = xPos + ' ' + yPos;
$('div.eventJumpToContainer').find('.selected').css('backgroundPosition', toSet);
$('div.eventJumpToContainer span.jumpDate').not('.selected').each(function () {
var backgroundPos = $(this).css('backgroundPosition').split(" ");
var xPos = backgroundPos[0];
$(this).css('backgroundPosition', xPos + ' top');
});
}
在IE9中单步执行此代码时:
$('div.eventJumpToContainer').find('.selected').css('backgroundPosition') = ‘3600px 0%’
但是在IE8中,这个表达式是空的
我尝试了很多东西,但都没能成功!提前感谢您正在jQuery css函数中使用javascript语法作为后台位置 例如:
object.style.backgroundPosition="center"
在CSS中,属性实际上是'background-position'
试试这个:
$('div.eventJumpToContainer').find('.selected').css('background-position') = ‘3600px 0%’
如果这不起作用,您可能需要使用
-ms-background-position-x-ms-background-position-y
属性。backgroundposition
?你的意思是背景位置
,对吗?实际上,IE不理解getter for background position属性,但是它支持background-position-x/y?请看下面的答案:@PranavKapoor连字符CSS属性在javascript中转换为驼峰大小写。@jbabey:谢谢提示:)我修复了!!:)!我看到了@adeneo提到的帖子,我使用了“if(navigator.appName=='microsofternetexplorer'){var backgroundPos=$('div.eventJumpToContainer').find('.selected').css('backgroundPositionX')+“+var backgroundPos=$('div.eventJumpToContainer').find('selected').css('backgroundPositionY');)else”{var backgroundPos=$('div.eventJumpToContainer')。查找('.selected')。css('background-position');很高兴听到这个消息!很高兴我能帮上忙