2017-02-28 5 views
0

私の問題点を誰かが見つけられることを願っています。私のスクリプトは、スクロールすると起動するだけです...私はその機能が必要です。それは私が最初にやる必要があるページの負荷でも火災です。そのため、最初にコンテンツが読み込まれた後、ページを下にスクロールして新しいコンテンツを追加できます。ページの読み込み時にAjaxが発生する

関数名の外に関数の中にajaxを入れてみましたが、まだ起動しませんでした。

あなたがスクロールで、ページ読み込み時にそれを呼び出すことができますので、機能としてそれを分離する必要が
$(document).ready(function() { 
    $(window).scroll(function() { 
     if ($(window).scrollTop() >= $(document).height() - $(window).height() - 100) { 
      flag = true; 
      first = $('#first').val(); 
      limit = $('#limit').val(); 
      no_data = true; 
      if (flag && no_data) { 
       flag = false; 
       $('#loadmoreajaxloader').show(); 
       $.ajax({ 
        url: "commentedoncontent.php", 
        dataType: "json", 
        method: "POST", 
        cache: false, 
        data: { 
         start: first, 
         limit: limit 
        }, 
        success: function(data) { 
         flag = true; 
         $('#loadmoreajaxloader').hide(); 
         if (data.count > 0) { 
          first = parseInt($('#first').val()); 
          limit = parseInt($('#limit').val()); 
          $('#first').val(first + limit); 
          $.each(data.posts, function(i, response) { 
           //post content here 
          }); 
         } else { 
          alert('No more data to show'); 
          no_data = false; 
         } 
        }, 
        error: function(xhr, ajaxOptions, thrownError) { 
         alert(xhr.status); 
         flag = true; 
         no_data = false; 
        } 
       }); 
      } 
     } 
    }); 
}); 
+2

'ready'の中の部分はスクロールリスナーを付加するだけです。どの部分を読み込み時に実行したいですか? – Carcigenicate

+0

私は新しいコンテンツを見ることができるように、ページの読み込み時にページロード時にAjaxを呼び出すようにしたいと考えています。しかし、スクロール機能が新しいコンテンツを取得するのに役立つようにしたいと思います。ページの読み込みに失敗してもエラーは発生しません。私がスクロールするときだけ。 – Gateway

+0

あなたはページロード時にそれを発射することは決してありません。ページの読み込み中にスクロールリスナーを追加するだけです。スクロールリスナーはスクロールするまで何もしません。以下の答えを見てください。 – Carcigenicate

答えて

1

$(document).ready(function() { 
    myFunction(); 
    $(window).scroll(function() { 
     if ($(window).scrollTop() >= $(document).height() - $(window).height() - 100) { 
      myFunction(); 
     } 
    }); 
}); 
function myFunction(){ 
    /* all the logic goes here */ 
} 
+0

ありがとうございました。これはまさに私が必要としていたものです。あなたの助けをありがとう@LordNeo – Gateway

1

あなたが機能であなたのコードを配置し、ページのロード時にそれを実行することができますスクロールしながら

$(document).ready(function() { 
    doStuff(); //choose the name that you want 

    $(window).scroll(function() { 
    doStuff(); 
    }); 
}); 

function doStuff(){  
     if ($(window).scrollTop() >= $(document).height() - $(window).height() - 100) { 
      flag = true; 
      first = $('#first').val(); 
      limit = $('#limit').val(); 
      no_data = true; 
      if (flag && no_data) { 
       flag = false; 
       $('#loadmoreajaxloader').show(); 
       $.ajax({ 
        url: "commentedoncontent.php", 
        dataType: "json", 
        method: "POST", 
        cache: false, 
        data: { 
         start: first, 
         limit: limit 
        }, 
        success: function(data) { 
         flag = true; 
         $('#loadmoreajaxloader').hide(); 
         if (data.count > 0) { 
          first = parseInt($('#first').val()); 
          limit = parseInt($('#limit').val()); 
          $('#first').val(first + limit); 
          $.each(data.posts, function(i, response) { 
           //post content here 
          }); 
         } else { 
          alert('No more data to show'); 
          no_data = false; 
         } 
        }, 
        error: function(xhr, ajaxOptions, thrownError) { 
         alert(xhr.status); 
         flag = true; 
         no_data = false; 
        } 
       }); 
      } 
     } 

} 
関連する問題