Стиль CSS не синхронизируется с Javascript - PullRequest
0 голосов
/ 17 февраля 2011

Я бы предпочел не использовать jquery только для простоты. У меня есть три веб-сайта, через которые проходит одна страница. Я хочу, чтобы веб-страницы масштабировались на разные скалярные значения. Я пытался применить класс к каждой странице, но с помощью оператора switch он должен был увеличить в 2 раза в Google 4x на Yahoo и .5x на Ebay. Однако, когда я запускаю код, он переходит в Google при увеличении в 2 раза. Тогда это идет к Yahoo в. 5x тогда ebay в. 5-кратном увеличении. Меня не волнует эффективность, это всего три страницы, которые можно прокрутить, чтобы их можно было жестко закодировать. Спасибо

<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 голосов
/ 17 февраля 2011

Ваша переменная НЕ должна иметь именованные кадры. Вы портите window.frames, когда называете var frames. Назовите это как-нибудь еще.

Использовать цикл for здесь неправильно, так как он не даст вам времени для загрузки страниц. Возможно, вы захотите использовать setTimeout для вызова каждой итерации.

0 голосов
/ 17 февраля 2011

Я не уверен, что именно это является причиной вашей проблемы, но вы, похоже, пропускаете заключительную цитату в 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...