0

servicewrapper divが特定の高さまでスクロールし、そこで停止するようにしようとしています。また、ページをこれ以上スクロールすることはできません。

私はこのコードから始めました:

$(window).scroll(function() {   
 if ($(window).scrollTop() >=380) 
{ 
    $(window).scrollTop(380); 
}
});

高さですべてのページのすべてのスクロールが停止することに気付くまで、それはトリックを行いました。そこで、このコードを使って、ルールがservicewrapper divにのみ適用され、運がないようにしました。ご覧のとおり、jqueryheheの専門家はいません。

$(window).scroll(function() {
 if $('#servicewrapper').scrollTop() >=380) 
{ 
    $('#servicewrapper').scrollTop(380); 
}
});

これを行う方法はありますか?グーグルとスタックでこれについての答えを探していましたが、少なくとも私が望むように、他の誰かのコードを変更するにはあまりにも多くの初心者であるため、私は何も見つかりませんでした。

よろしくお願いします!

4

2 に答える 2

0

コンテナ内のスクロールを制御したい場合はscrollTop、そのコンテナを呼び出す必要があります。この場合、ページ全体のスクロールダウンに影響を与えようとしているように見えるため、コンテナはになりますwindow。この部分は正しいです。

私があなたを正しく理解している場合、このスクリプトはサイトの複数のページに挿入されており、特定のページにのみ影響を与えたいと考えています。その場合は、何らかの方法でそのページを識別する必要があります。ターゲットページにのみという要素があるservicewrapper場合は、次の要素を使用できます。

if($('#servicewrapper').length) {
    $(window).scroll(function() {   
        if ($(window).scrollTop() >=380) { 
            $(window).scrollTop(380); 
        }
    });
}

実例: http: //jsfiddle.net/MafPQ/

于 2012-11-12T20:11:23.493 に答える
0

私はそれを動かしました!最初はFirefoxでのみ機能しましたが、少し調整すると、IE、Safari、Firefox、Chromeで機能します。これはコードです:

JS:

$(window).scroll(function(){
    if  ($(window).scrollTop() > 200){
         $('#servicediv').css({position:'relative',top:200});
    } else {
         $('#servicediv').css({'top':30% });
        }
});

およびCSS:

#servicediv {
margin-top: 100px;
top:80%;
width: 100%;
background:url(images/content_bg.png);
height: auto;
position: relative;
z-index: 800;
bottom: 0;
min-height: 450px;

}
#servicewrapper {
width: 100%;
margin-left: auto;
margin-right: auto;
text-align: center;
height: auto;

}

他の誰かがこれと同じ問題を抱えている場合に備えて、私自身の質問に答えて、これをグーグルで検索します。あなたはあなたのofcに一致するようにルールを微調整する必要があります。そして、私はあなたがコードを見るときあなたの多くがfacepalmに行くだろうと推測しています。しかし、その動作。

于 2012-11-14T23:36:26.583 に答える