3

我是这个编码世界的新手。当谈到 Javascript 时,我对 HTML 和 CSS 的了解是最少且不存在的。

我正在做一个项目,我需要为其创建一个视差站点,并且每个部分都按对角线划分。视差位几乎完成,但我正在努力使对角线在不同的浏览器上起作用。使用其他人在这个论坛上的一些代码,我必须为 Firefox 做这件事,但仍然需要让它在其他浏览器或至少 Chrome 和 Safari 上工作。任何人都可以帮忙吗?

HTML

<div>
  <section><a href="#1"></a></section>
  <section><a href="#2"></a></section>
</div>

CSS

html, body, div{ height: 100%; width: 100%; padding: 0; margin: 0; }
div { overflow : hidden; position: relative;  }
section { 
height        : 500%;
background    : red; 
width         : 500%;
position      : absolute;
top           : -100%;
-moz-transform-origin: 0 0;
-webkit-transform-origin: 0 0;
-o-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
}

section + section { 
background: #333;    
top       : 80%;
-moz-transform-origin: 0 0;
-webkit-transform-origin: 0 0;
-o-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
} 

section a { display: block; width: 100%; height: 100%; cursor: pointer; }

JS

$(function() {

$(window).on('resize', function() {
   var h = $(document).height(),
       w = $(document).width(); 

   var angle = ((Math.atan(h/w) * 10.29577951308232));
   $('section').css("-moz-transform", "rotate(" + angle + "deg)")

})
.triggerHandler('resize');
});
4

1 回答 1

1

正如 Rob W. 所指出的,jQuery 将(在最近的版本中)为您添加供应商前缀。但是,这意味着您不应该自己做:

$('section').css("transform", "rotate(" + angle + "deg)");

这适用于我的 Chrome 和 Firefox:Fiddle

于 2013-11-30T11:01:19.393 回答