Question

J'utilise un shadowbox qui génère un iframe pour les détails du produit d'affichage sur une page. Parce que la page de détails peut être assez long, le client comme un bouton « Plus » qui défile vers le bas de la page (apparemment la barre de défilement à droite de l'iframe ne suffit pas).

Voici le code que j'ai essayé afin d'obtenir l'iframe pour défiler:

$(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);
}

J'ai aussi essayé d'utiliser le corps au lieu de iframe, mais en vain. Des idées? Merci!

Était-ce utile?

La solution 2

Cela a fini par travailler:

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

Autres conseils

Comme ceci: (testé)

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

Dans Chrome je devais choisir spécifiquement l'élément du corps:

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

Créer une fonction dans le javascript parent comme ceci:

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

et appeler cette fonction au sein de l'iframe comme ceci:

window.parent.scrollToPoint(top);

Il devrait fonctionner en chrome, non testé dans Firefox encore

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top