CSS样式不与Javascript同步

时间:2011-02-17 12:51:21

标签: javascript html css iframe

我不想仅仅为了简单而使用jquery。我有三个网站,其中一页循环。我希望每个网页都可以通过不同的标量值进行缩放。我尝试将一个类应用到每个页面但是使用switch语句它应该在yahoo上的google 4x和ebay上的.5x上缩放2x。但是,当我运行代码时,它将以缩放2x google。然后它以.5x然后ebay以.5x缩放进入雅虎。我不关心效率,它只会翻滚三页,所以它可以硬编码。感谢

<style>
#wrap { width: 1390px; height: 690px; padding: 0; overflow: hidden; }
#frame.first { width: 1390px; height: 690px; border: 0px solid black; }
#frame.first { zoom: 2; -moz-transform: scale(2); -moz-transform-origin: 0 0; }
#frame.second { width: 1395px; height: 695px; border: 0px solid black; }
#frame.second { zoom: 4; -moz-transform: scale(1); -moz-transform-origin: 0 0; }
#frame.third { width: 1395px; height: 695px; border: 0px solid black; }
#frame.third { zoom: .5; -moz-transform: scale(1); -moz-transform-origin: 0 0; }
</style>
<script type="text/javascript">
    var frames = Array('http://www.google.com, 5,
                       'http://www.yahoo.com', 5,
                       'http://www.ebay.com', 5);

var i = 0, len = frames.length;
function ChangeSrc()
{
if (i >= len) { i = 0; }
switch(i)
{
case 0:
  document.getElementById('frame').className = 'first';
  document.getElementById('frame').className
  break;
case 1:
  document.getElementById('frame').className = 'second';
  document.getElementById('frame').className
  break;
case 2:
  document.getElementById('frame').className = 'third';
  document.getElementById('frame').className
  break;
}      
  document.getElementById('frame').src = frames[i++];
  setTimeout('ChangeSrc()', (frames[i++]*1000));
}
window.onload = ChangeSrc;
</script>
</head>

<body>
<div id="wrap">
    <iframe src="" class="" id="frame" scrolling="no" frameborder="0"></iframe>
</div>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

我不确定这是否是导致您出现问题的原因,但您似乎错过了Google的收尾报价:

var frames = Array('http://www.google.com, 5,
                   'http://www.yahoo.com', 5,
                   'http://www.ebay.com', 5);

应该是:

var frames = Array('http://www.google.com', 5,
                   'http://www.yahoo.com', 5,
                   'http://www.ebay.com', 5);

答案 1 :(得分:0)

您的变量不应该是命名框架。在命名var帧时,你正在搞乱window.frames。将其命名为其他内容。

使用for循环在这里使用是错误的,因为它不会给你任何时间来加载页面。您可能希望使用setTimeout来调用每次迭代。