0

所以我有以下脚本,基本上可以调整屏幕上元素的位置。

它在其他浏览器上完美运行,但在 IE8 上导致错误

这是导致问题的整个函数调用

function ajax_load(){
    var screenwidth = window.innerWidth
    var screenheight = window.innerHeight;
    var current_width = 250;
    var current_height = 70;
    var left = (screenwidth - current_width)/2;
    var bottom = (screenheight - current_height)/2;

    var secondajaxloaderElement = document.getElementById('ajax_loader');
    secondajaxloaderElement.style.bottom = bottom + 'px'; // Line 308 - problematic line 
    secondajaxloaderElement.style.left = left + 'px';
}

知道为什么这会在 IE 上失败吗?

我从开发人员工具得到的错误是:参数无效。和指向的行号(308) secondajaxloaderElement.style.bottom = bottom + 'px';

4

1 回答 1

2

IE8 不支持这些:

var screenwidth = window.innerWidth
var screenheight = window.innerHeight;

http://www.w3schools.com/jsref/prop_win_innerheight.asp

看到这个帖子:

window.innerHeight ie8 替代方案

这应该在 IE8 中工作:

var screenwidth = document.body.clientWidth;
var screenheight = document.body.clientHeight;

或者你也可以使用 jQuery:

var screenwidth = $(window).width;
var screenheight = $(window).height;
于 2013-01-09T19:46:55.500 回答