2017-02-05 21 views
1

私は、単一ページのウェブサイト作られている、それはときに、それぞれのセクションへのナビゲーションバーをクリックし、私はそれのためにスクリプトを適用して、同じタブまたは新しいタブでプロジェクトの新しいサブページを開く方法は?

//スムーズスクロールhrefの値

jQuery(".tabs-btn ul li a, .navbar-nav li a, .navbar-brand").click(function(event){ 
       event.preventDefault(); 
       //calculate destination place 
       var dest=0; 
       if($(this.hash).offset().top > $(document).height()-$(window).height()){ 
         dest=$(document).height()-$(window).height(); 
       }else{ 
         dest=$(this.hash).offset().top; 
       } 
       //go to destination 
       jQuery('html,body').animate({scrollTop:dest}, 1000,'swing'); 
      }); 

と私のナビゲーションへスクロールスクリプトのそれは「キャリア」をクリックして次のページに行っていないので、私はそれをクリックすることで、同じタブまたは新規でcareer.htmlを開くために何ができる 、など今

<ul class="nav navbar-nav"> 
        <li class="active"><a href="#home">HOME</a></li> 
        <li><a href="#services">services</a></li> 
        <li><a href="#experience">skills</a></li> 
        <li><a href="#team">our team</a></li> 
        <li><a href="#portfolio">About Us</a></li> 
        <li><a href="#contact-us">contact us</a></li> 
        <li><a href="career.html" target="_self">career</a></li> 

        </ul> 

です。

私の英語のために残念です。

+0

career.htmlリンクでtarget = "_ blank"を試しましたか? @RohitPatne –

+0

はい、私はそれを行った、それは動作しませんでしたuser2896976以下の答えが働いたがスクロールアニメーションは動作していません – Rohit

答えて

0
jQuery(".tabs-btn ul li a, .navbar-nav li a, .navbar-brand").click(function(event) { 
    event.preventDefault(); 
    var dest = 0; 
    if ($(this.hash).offset().top > $(document).height() - $(window).height()) { 
     dest = $(document).height() - $(window).height(); 
    } else { 
     dest = $(this.hash).offset().top; 
    } 
    jQuery('html,body').animate({ 
     scrollTop: dest 
    }, 1000, 'swing'); 
}); 

あなたはevent.preventDefault();を呼び出しているため、リンクアクションは無視されます。 #anchorリンクのスクロールをスムーズにしたいが、通常のリンクが正常に機能するようにするには、hrefの最初の文字が#であるかどうかをチェックすることができます。

$(event).target.attr("href").startsWith("#")

+0

それは動作しているが、jQuery( 'html、body')。animate({scrollTop:dest}、1000、 'スイング');クリックした後、スクロール効果なしでターゲットセクションに移動します – Rohit

+0

新しいコードはどのように見えますか? ([ここに投稿してください](https://jsfiddle.net)と保存) – user2896976

+0

条件とこの1つを適用して2つの方法を試しました。 - ブランド」、$(イベント).target.attr( "HREF")のstartsWith。( "#"))(関数(イベント){ \t \t \t \t event.preventDefault()をクリックしてください。。 \t \t \t \tを/ 。 - $(ウィンドウ).height( \t \t \t \t場合($(this.hash).offset()トップ> $(文書).height();/ \t \t \t \tするvar DEST = 0を先の場所を計算します)){ \t \t \t \t \t dest = $(document).height() - $(window).height(); \t \t \t \t}他{ \t \t \t \t \t DEST = $(this.hash).offset()へ戻ります。 \t \t \t \t} \t \t \t \t \t \t \t \t //宛先 \t \t \t \t jQueryの( 'HTML、本体')に移動アニメーション({scrollTopスプライト:DEST}、1000 'スイング')。 \t \t \t});私はそれが間違っていることを知っている。 – Rohit

関連する問題