2017-04-25 3 views
0

スムーズなスクロールを可能にするために、次のコードを実装しました。問題はブックマークのリンクがブックマークのページにないときに動作しないように見えることです。スムーススクロール -

たとえば、次のページの右側のサイドバーにある[投稿を送信]リンク/ボタンは機能しません。リンクをクリックしても何も行われず、ページが開かれません。

https://indianashrm.staging.wpengine.com/job-board/graphic-designer/

ブックマークリンクはブックマークしてページ上にある場合、それは動作します - 「ポストサイドバーでのジョブリンク/ボタンを参照してください

https://indianashrm.staging.wpengine.com/job-board/

任意のアイデア

。?
<script> 
jQuery(document).ready(function($){ 
    // Add smooth scrolling to all links 
    $("a").on('click', function(event) { 

    // Make sure this.hash has a value before overriding default behavior 
    if (this.hash !== "") { 
     // Prevent default anchor click behavior 
     event.preventDefault(); 

     // Store hash 
     var hash = this.hash; 

     // Using jQuery's animate() method to add smooth page scroll 
     // The optional number (800) specifies the number of milliseconds it takes to scroll to the specified area 
     $('html, body').animate({ 
     scrollTop: $(hash).offset().top 
     }, 800, function(){ 

     // Add hash (#) to URL when done scrolling (default click behavior) 
     window.location.hash = hash; 
     }); 
    } // End if 
    }); 
}); 
</script> 

答えて

0

スクロール動作は、この場所でのみ動作するように設定されています。https://indianashrm.staging.wpengine.com/job-board/#createjobposting

および#createjobpostingフォームはロードされたページ(https://indianashrm.staging.wpengine.com/job-board/graphic-designer/)にはありませんが、/job-board/にある場合はあります。

ボタンスクロールの動作をjob-board以外で使用する予定がある場合は、this.hashを使用しないでください。他の場所にいる場合は未定義です。

enter image description here

何の作業フィドル例がない考慮すると、溶液は多様かもしれないが、1は次のようになります。

  • こと/graphic-designer/と にあなたが持っている他のすべてのジョブアイテムを#createjobpostingフォームを配置しますジョブの投稿ボタンが表示されます(これは、スクロール動作を維持したい場合に推奨されます)。

  • またはに完全なURLリンクを使用する:https://indianashrm.staging.wpengine.com/job-board/#createjobposting(あなたがどこかにある場合、これはその場所にリロードします)

+0

だから、問題はjQueryの機能であると言っています。特定のページだけをスムーズにスクロールして作業するようには決めていません。私は他のページで滑らかなスクロールを使用していますが、私は今この問題を認識しました。 2つの選択肢について、選択肢1は実現不可能です。コード内のボタンの完全なURLを使用していますが、別のものが完全なパスを除外しています。私は他の滑らかなスクロールソリューションを探します - 感謝Syden。 – Brett

+0

はい、 'this.hash'からのあなたのjQueryのオフセットは、'/graphic-designer/'に入っていれば' this'を 'https://indianashrm.staging.wpengine.com/job-board/ 'にしますグラフィックデザイナー/#createjobposting' - フォームがそこに存在しないので、未定義が表示されます。 – Syden