Как перебрать серию URL в iframe с помощью плагина обратного отсчета jQuery? - PullRequest
0 голосов
/ 05 мая 2011

Целью этого кода является циклический просмотр URL-адресов и вставка самой последней в iframe.

<?php
$count=0;
$urls[]="http://www.techcrunch.com";
$urls[]="http://www.livingsocial.com";
$urls[]="http://www.guardian.co.uk";
$urls[]="http://www.google.com";
$urls[]="http://www.rightmove.com";
$urls[]="http://www.godaddy.co.uk";

foreach ($urls as $count){

?>
<script type="text/javascript"> 
    $(function start() {
    var changetimer = new Date();
    changetimer.setSeconds(changetimer.getSeconds() + 10.5); 
    $('#defaultCountdown').countdown({until: changetimer, onExpiry: liftOff});
    $('#year').text(changetimer.getFullYear());
});

function liftOff() { 
    document.getElementById("mainview").src = '<?php echo($count); ?>';
} 
</script> 
<?php }  ?>
</head> 

ниже в теге body

<iframe id="mainview" width="800" height="400" src="http://www.holidays.com">
</iframe>

Проблема в том, что этот код пропускает список URL так быстро, что вы видите только первый и последний URL. URL-адреса между ними пока не видны, и таймер обратного отсчета появляется только один раз. Я использую плагин обратного отсчета jquery.

Как мне замедлить это и показать каждую итерацию обратного отсчета индивидуально, прежде чем перейти к следующей? большое спасибо.

Ответы [ 2 ]

1 голос
/ 05 мая 2011

У вас есть проблема в вашей переменной области.changetimer var недоступен из функции litOff.Вы можете сделать его глобальным, как это:

<script type="text/javascript"> 
$(function start() {
    window.changetimer = new Date(); //Declare as global
    changetimer.setSeconds(changetimer.getSeconds() + 5.5); 
    $('#defaultCountdown').countdown({until: changetimer, onExpiry: liftOff});
    $('#year').text(changetimer.getFullYear());
});

function liftOff() { 
    document.getElementById("mainview").src = "http://www.google.co.uk";
    window.changetimer.setSeconds(window.changetimer.getSeconds() + 5.5); //Reference global
    $('#defaultCountdown').countdown({until: window.changetimer, onExpiry: start}); //Reference global
} 
</script> 

Надеюсь, это поможет.Приветствия

0 голосов
/ 11 мая 2011

Спасибо вам всем за ваши отзывы и ответы, ребята.Теперь я нашел решение проблемы в виде параметра php для команды header: location.Если вы используете обновление, вы можете снова загрузить ту же страницу и каждый раз увеличивать указатель базы данных.Simples!

...