2

JQuery を使用して、親ウィンドウから iframe をスクロールしようとしています。つまり、子 iframe をスクロールするスクロール ボタンを親ページに設定します。以下を使用して、JavaScript で問題なく動作します。

function scroller(howMuch) 
{
        var myIframe = document.getElementById('iframeid');

        myIframe.contentWindow.scrollBy(0,howMuch);
}

次に、次から関数を呼び出します。

<a href="javascript:scroller(-50)">Scroll Up 50 px</a>

しかし、不格好な scrollBy() の代わりに JQuery を使用して animate() を使用しようとするのは簡単ではありませんでした。私はもう試した

$('#iframeid').contentWindow.animate({scrollTop : 50});

例えば。これは、JQuery から iframe の contentWindow にアクセスする方法であると確信しています。この件についてはあまり見つかりません。問題の 1 つは、親ページが scroll: none (iframe がデフォルトに設定されている) に設定されていることです。これがディールブレーカーでしょうか、それとも他に何か不足していますか? JavaScript で遅延ループをコーディングできることに気付きましたが、これは私の好奇心を刺激しました。

4

1 に答える 1

1

ここには2つの問題があり、間違いなく1つです。

contentWindow()jQueryはこの文字列を 理解しません。これには、を使用する必要がありますcontents()

iframe(同じドメイン)のコンテンツを操作できる場合は、次を使用できます

$('element').on('mousedown', function(){
  $('iframe').contents().animate({ scrollTop : 50 });
});

それを押し続けると内容がスクロールします。やってみよう。

于 2012-07-16T03:54:57.460 に答える