0

私はウェブサイトhttp://dev.io-web.com/portfolio.aspxで作業しており、プログラムしたスライダーに問題があります。クリックしてスライドを変更すると、何らかの理由で、サイトのスクロールの位置が一番上にリセットされます。画面の位置が変わらないようにする方法はありますか?私が何をしているのかを理解しやすくするために、スライダーのコードの一部も含めます。

$(".slide1").click(function() {
    if(current_slide != "slide1"){
            $(".arrow").animate({"margin-left":"349px"});
            if(current_slide == "slide2"){
                $(".slide2_display").stop(true,true).fadeOut().hide();
                $(".slide1_display").fadeIn().show();
                current_slide = "slide1";
                $("#slide2content").hide();
                $("#slide1content").show();
            }
            else if(current_slide == "slide3"){
                $(".slide3_display").stop(true,true).fadeOut().hide();
                $(".reps_display").fadeIn().show();
                current_slide = "slide1";
                $("#slide3content").hide();
                $("#slide1content").show();
            }
            else{
                $(".slide4_display").stop(true,true).fadeOut().hide();
                $(".slide1_display").fadeIn().show();
                current_slide = "slide1";
                $("#slide4content").hide();
                $("#slide1content").show();
            }

    }
});

これを 4 つの異なるディスプレイごとにコーディングしました。表示のみを変更し、ページのスクロールを変更する必要はありませんが、クリック機能が自動的にそのようなことを行う可能性があります。解決策の助けをいただければ幸いです。上記のURLで進行中の作業を自由にご覧ください。

4

1 に答える 1

0

これは、jQuery.hide() を使用して div を非表示にすると、そのコンテナー .PortfolioSlider が空であるため、一瞬 0px にサイズ変更されるために発生します。これにより、ページの高さが縮小され、ブラウザーがページの上部にジャンプします。

これは、.PortfolioSlider の css に 660px の固定高さを適用するだけで修正されます。

于 2012-07-05T19:30:53.080 に答える