わかりました、私は本当に一日中これに取り組んでいて、私はそれを理解することができません.
setTimeout() を使用する JavaScript スライドショーがあります。Chrome と一部の FF バージョンでは、CPU の使用量を減らすために速度が低下し、スライドショーに戻ったときにスライドショーにあると思われる場所に追いつくために速度が上がることを理解しています。
ただし、これを行うと、速度が向上するだけでなく、コード内のいくつかの質問が無視されて、画像配列から飛び出し、短い未定義エラーが発生します。それが追いつくと、それはうまくいきますか?どうすればこれを回避できるのか、またスピードアップを止める方法はありますか?? これは私が使用しているコードです。
<script type="text/javascript">
<?php
$fetch_images = mysql_query($Aquery);
$fetch_title = mysql_query($Bquery);
$fetch_text = mysql_query($Cquery);
$num_rows = mysql_num_rows($fetch_images);
?>
var i=0;
var products = [<?php while($image = mysql_fetch_array($fetch_images)){echo "'".$image['imageurl']."',";}?>];
var productstitle = [<?php while($title = mysql_fetch_array($fetch_title)){echo "'".$title['title']."',";}?>];
var productstext = [<?php while($text = mysql_fetch_array($fetch_text)){echo "'".stripslashes($text['strapline'])."',";}?>];
function slideShow<?php echo $timerTag;?>(){
if (i<=(products.length-1)){
$('#headerslideimage').fadeTo("slow", 0, function() {
<?php if(page('pageurl') != 'home'){?>
document.getElementById('headerslidetitle').innerHTML=productstitle[i];
document.getElementById('headerslidetext').innerHTML=productstext[i];
<?php }?>
document.getElementById('headerslideright').innerHTML="<img id='headerslideimage' src='"+products[i]+"' alt='"+productstitle[i]+"'/>";
i++;
$('#headerslideimage').fadeTo(4000, 100, function() {});
});
} else {
i = 0;
$('#headerslideimage').fadeTo("slow", 0, function() {
<?php if(page('pageurl') != 'home'){?>
document.getElementById('headerslidetitle').innerHTML=productstitle[i];
document.getElementById('headerslidetext').innerHTML=productstext[i];
<?php }?>
document.getElementById('headerslideright').innerHTML="<img id='headerslideimage' src='"+products[i]+"' alt='"+productstitle[i]+"'/>";
i++;
$('#headerslideimage').fadeTo(4000, 100, function() {});
});
}
setTimeout("slideShow<?php echo $timerTag;?>()", 5000);
}