0

私のasp.netアプリケーションには、ヘッダーを持つページがあり、ページの本文には、人が選択できるアイテムが表示されます。誰かがアイテムを選択すると、本文の右側に iframe が表示され、選択したアイテムの詳細が表示されます。iframe のサイズと位置は、画面のサイズを使用して設定されます。すべてのデスクトップ ブラウザで、以下の JavaScript を使用してこれを修正できます。

<script type="text/javascript">
window.onscroll = scroll;
</script>

ここにJavaScript関数スクロールがあります

function scroll() {
    var divT = document.getElementById('searchframe');
    var divD = document.getElementById('detailframe');

    if (document.body.scrollTop > 80) {
        divT.style.top = document.body.scrollTop
        divD.style.top = document.body.scrollTop

        document.getElementById('detailframe').height = '100%';
    }
    if (document.body.scrollTop == 0) {
        divT.style.top = 75
        divD.style.top = 75
    }
}

http://code.google.com/p/ibbdemo2/ - Adob​​e Air iPad シミュレーターを使用してテストする場合、スクロール機能は呼び出されません 。スクロール機能を除いて、他のすべてのブラウザーやこのシミュレーターでもポップアップするアラートを配置することで、これを伝えることができました。他のブラウザーでは、window.onclick 行にアラートを配置するとアラートが表示されますが、サファリ モバイルではアラートは表示されません。つまり、window.onscroll イベントはトリガーされていないように見えます。ご協力ありがとうございました。

編集 - モバイルサファリを除くすべてのブラウザで、以下の行のいずれかを使用してスクロールイベントをキャプチャすることもできます

window.onscroll = scroll;
document.onscroll = scroll;
document.addEventListener("scroll", scroll, false);
4

3 に答える 3

0

この問題はエミュレーターのみが原因であり、実際にはデバイスで機能します。

于 2012-06-26T13:53:56.850 に答える
0

なぜJavaScriptでこれを行わなければならないのですか?

Css:

position:fixed;
right: 10px;
top: 10px;

動作しません?

于 2012-06-25T15:06:14.000 に答える
0

document.getElementById('iframeID').style.top = intVal;

于 2013-02-04T22:54:26.050 に答える