Как прокрутить iframe изнутри, используя jquery? - PullRequest
2 голосов
/ 18 мая 2010

Я использую shadowbox, который генерирует iframe для отображения сведений о продукте на странице. Поскольку страница сведений может быть довольно длинной, клиенту нужна кнопка «Дополнительно», которая прокручивает страницу вниз (очевидно, полосы прокрутки справа от iframe недостаточно).

Вот код, который я пробовал для того, чтобы прокрутить iframe:

$(document).ready(function()
{
$(".moreButton img").click(function() {
    scrollbottom();
});
});

function scrollbottom() {
var x = 250; // this number is a temporary placeholder
var t = 500;
$("iframe").animate({ scrollTop: x }, t);
}

Я также пытался использовать body вместо iframe, но безрезультатно. Есть идеи? Спасибо!

Ответы [ 4 ]

1 голос
/ 30 октября 2016

Создайте функцию в родительском javascript, например, так:

function scrollToPoint(top) {
    $("html, body").animate({ scrollTop: top }, "slow")
}

и вызовите эту функцию в iframe следующим образом:

window.parent.scrollToPoint(top);

Он должен работать в Chrome, еще не тестировался в Firefox

1 голос
/ 18 мая 2010

Это сработало:

$('html,body').animate({ scrollTop: x }, t);
1 голос
/ 30 января 2015

В Chrome мне пришлось специально выбрать элемент body:

$('#my-iframe').contents().find('body').animate({scrollTop:90},500);

1 голос
/ 18 мая 2010

Как это: (проверено)

$("iframe").contents().children().animate({ scrollTop: x }, t);
...