4

私はjavascriptの初心者です。今、それをやろうとしています。タイトルとして、ビデオが含まれるページと同じ大きさのdivが上部にあるページがあり、その後に次のようないくつかのセクションが続きますこれ:

<div id="first" style="height:100%; width:100%"></div>
<section id="second" style="height:100%; width:100%"></section>
<section id="third" style="height:100%; width:100%"></section>

ページが自動的に #second にスクロールするには、ページが読み込まれてから 5 秒かかります。私は多くの方法を試しましたが失敗し、適切に機能するものは何も見つかりませんでした。

ありがとう

4

5 に答える 5

4

せっかくなので、今回はコードだけ載せておきます。

$(window).load(function () {
    //normally you'd wait for document.ready, but you'd likely to want to wait
    //for images to load in case they reflow the page
    $('body').delay(5000) //wait 5 seconds
        .animate({
            //animate jQuery's custom "scrollTop" style
            //grab the value as the offset of #second from the top of the page
            'scrollTop': $('#second').offset().top
        }, 300); //animate over 300ms, change this to however long you want it to animate for
});
于 2013-03-18T19:01:54.043 に答える
2

コードの最後にこれを使用します

setTimeout(function(){window.location.hash = '#second';},5000);

それらheight:100%;が間違っていることに注意してください。

于 2013-03-18T18:45:46.200 に答える
1

あなたが使用することができます

window.location.hash = '#second';

これでフォーカスが設定されます。タイマー ソリューションの作業をお任せします。

また、ユーザーが特定の div に集中することを強制することはお勧めしません。これはあまり良い UX プラクティスではなく、ユーザーがサイトから追い出される可能性があります。特に、ページが上にスクロールする理由をユーザーが理解できない可能性があるためです。

于 2013-03-18T18:42:24.807 に答える
0
$(function () {
    setTimeout(function () { goToSecondTab(); }, 5000);
    function goToSecondTab() {
        window.location.hash = '#second';
    }
});
于 2013-03-18T18:44:48.153 に答える