Вопрос

Я использую 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);
}

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

Это было полезно?

Решение 2

Это закончилось работать:

$('html,body').animate({ scrollTop: x }, t);

Другие советы

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

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

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

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

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

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

и позвоните, что функция в том, что IFRame так:

window.parent.scrollToPoint(top);

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top