Показать список ссылок в iframe по одной с jquery - PullRequest
0 голосов
/ 18 марта 2011

Хорошо, мне нужна помощь со сценарием, который принимает список URL-адресов в массиве, затем показывает каждый URL-адрес по одному в iframe и позволяет мне поставить рамку вокруг ссылки на следующий элемент список внутри фрейма. Мне нужно, чтобы страница отображалась в течение примерно 3 секунд, затем отображалась следующая страница, следующая и так далее, но только по одной странице за раз.

Вот где я сейчас нахожусь:

    var links = ["link1", "link2", "link3"];

    for (var i = 0; i < links.length; i++)
    {
        $("#viewer iframe")
            .attr('src', "http://www.mysite.com/" + links[i])
            .load(function() {
                $(this).contents().find("a[href*='" + links[i+1] + "']").css("border", "1px solid black");});
        setTimeout('$("#viewer iframe").attr("src", "")', 3000);
    }

Это работает, чтобы показать первую ссылку в массиве, а затем через 3 секунды устанавливает iframe src в ничто, но не показывает последующие ссылки.

1 Ответ

1 голос
/ 18 марта 2011

Попробуйте это:

var links = ["link1", "link2", "link3"];
var current = 0;

function showNextLink()
{
   if (current >= links.length) {
       return;
   }

   $("#viewer iframe")
        .attr('src', "http://www.mysite.com/" + links[current])
        .load(function() {
            if (current < links.length) {
                $(this).contents().find("a[href*='" + links[current+1] + "']").css("border", "1px solid black");}});

   current++;
   setTimeout(arguments.callee, 3000);
}

showNextLink();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...