Javascript更改marginTop属性在Firefox中不适用于XHTML 1.0 Transitional

时间:2010-02-22 20:29:00

标签: javascript firefox

昨天我将CultureRater.com移到了XHTML 1.0 Transitional,虽然下面的javascript在Safari和Chrome中运行,但它在Firefox中不起作用。有人有任何想法吗?如果您需要对问题有更好的印象,请访问FF中的网站并转到here并尝试按右侧的白色箭头(类型应该更改)。

var i=-2;
function film_button_right() {
  i--;
  document.all.nav_genres.style.marginTop=i*48 + 'px';
  document.all.left_categories_arrow.style.display="block";
  if(i==-3){
    document.all.right_categories_arrow.style.display="none";
  }
}
function film_button_left() {
  i++;
  document.all.nav_genres.style.marginTop=i*48 + 'px';
  document.all.right_categories_arrow.style.display="block";
  if(i==0){
    document.all.left_categories_arrow.style.display="none";
  }
}

提前感谢您的帮助。西奥。

2 个答案:

答案 0 :(得分:3)

Firefox不支持

document.all。请改用document.getElementById()

var i=-2; 
function film_button_right() { 
  i--; 
  document.getElementById("nav_genres").style.marginTop=i*48 + 'px'; 
  document.getElementById("left_categories_arrow").style.display="block"; 
  if(i==-3){ 
    document.getElementById("right_categories_arrow").style.display="none"; 
  } 
} 
function film_button_left() { 
  i++; 
  document.getElementById("nav_genres").style.marginTop=i*48 + 'px'; 
  document.getElementById("right_categories_arrow").style.display="block"; 
  if(i==0){ 
    document.getElementById("left_categories_arrow").style.display="none"; 
  } 
} 

答案 1 :(得分:0)

使用document.all数组访问页面元素是一种非标准的Microsoft功能,Firefox不支持。您应该使用document.getElementById函数。