2011-02-17 65 views
0

爲了簡單起見,我寧願不使用jquery。我有三個網站,其中一個頁面循環。我希望每個網頁的縮放比例都是不同的標量值。我嘗試在每個頁面上應用一個類,但是使用switch語句,它應該在eBay上的yahoo和.5x上將google 4x縮放爲2倍。但是,當我運行代碼時,它將以2倍的縮放比例運行谷歌。然後,它以0.5倍的速度進入雅虎,然後以0.5倍的縮放比例進行。我不關心效率,它只會滾動三頁,因此可以進行硬編碼。由於CSS樣式不與Javascript同步

<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> 
+0

您是否在嘗試爲外部iframe創建縮略圖?我懷疑這是否因爲同源政策而成爲可能。 – 2011-02-17 12:53:02

回答

0

我不知道這是什麼原因造成您的問題,但你似乎缺少一個谷歌收盤報價:

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); 
0

你的變量不應該被命名爲框架。當您命名var幀時,您正在搞亂window.frames。把它命名爲別的。

使用for循環在這裏使用是錯誤的,因爲它不會給你任何時間加載頁面。您可能想要使用setTimeout來調用每個迭代。

+0

你能告訴我如何使用setTimeout來調用每個迭代嗎?謝謝 – dw03 2011-02-21 15:28:41