0

特定の時点でhtmlファイルのコンテンツを現在のページに挿入し、リンクがクリックされたときにbootstrapのsmoothscroll.jsをアクティブにしてスクロールダウンする単純なjquery関数を作成しようとしています。

これが私のスタートです:

脚本:

    <script type="text/javascript">
$('a').filter('[data-fetch]').click(function(e){
  var clicked = $(e.target).closest('a')
  ,   fetch = clicked.attr('data-fetch')
  ;

  $.ajax({
    url: fetch,
    success: function(data){

      $('body').append(data);
      smoothScroller(clicked.attr('href'));

    });
  });
});
    </script>

HTML:

<a href="#about" data-fetch="index-alt.html">Link</a>

#aboutアンカーはページにありindex-alt.htmlます。これは正しいです?

4

2 に答える 2

2

クリックした要素の属性を取得しようとしていると思うので、これを試してください:

$('a').filter('[data-fetch]').click(function(e){
    var fetch = $(this).data('fetch'); //this here refers to the clicked element.

また、フィルターを削除して次のことを行うこともできます。

$('a[data-fetch]').click(function(e){
     var fetch = $(this).data('fetch');
于 2013-07-05T19:54:11.867 に答える
1

使うだけ.load()

$('a').filter('[data-fetch]').click(function (e) {
    var url = $(this).data("fetch"); //use .data to retrieve custom data
    $("body").load(url, function() {
        console.log("data loaded");
    });
});
于 2013-07-05T19:54:12.577 に答える