Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

send data dengan triger scroll, request ingin hanya satu..

$('#table_isi').scroll(function(){
var target=$('#table_isi');
if(target.scrollTop()/(target[0].scrollHeight-target.height()) > 0.99){
start+=limit;
//console.log(target.scrollTop()+' '+target.height()+' '+target[0].scrollHeight);
$.post('<!--?php echo base_url("index.php/app/get_more_surat"); ?-->',{'start':start,'limit':limit}, function(data,status) {
if(status=='success'){
$('#table_surat_masuk').append(data);
}else{
//data tidak ada
}
});
}
});



begini saya ingin jika scroll sudah sampai bawah dia request data lalu menambah baris pada tabel. (invinite grid)
itu sudah bisa dan sukses.

masalahnya. saat saya scroll sampai bawah..
request yang terkirim itu lebih dari 1. #itu tidak masalah si.. tapi yang saya ingin jika sudah kirim request scroll berhenti agar tidak menambah request lagi.
karena trigrernya kan dari scroll tersebut.

sudah saya coba jika saya ubah
nilaiscroll  &gt; 0.99)
menjadi

nilaiscroll &gt; 1)
bisa. tapi saya ingin letaknya di atas. agar orang tidak harus scroll sampai selesai baru load. tapi hampir selesai baru load. sepeti itu.

bisa ngga >

tolong master. ... guru2 ayo dibantu.

Tanggapan

  • sambungannya yg kemaren ?

    target.scrollTop()/(target[0].scrollHeight-target.height()

    [0] itu merujuk kemana ?
    scrollHeight nya mana yg elo ambil ?
  • ke object pertama. soalnya ketika select target atau $('#target') itu hasilnya array.

    untuk itu udah jalanko.  saya coba juga beres. :D
  • edited March 2013
    #target itu merujuk id, dan id PASTI cuma 1 ... kalo lebih dari 1 berarti elo salah bikin id

    kalo yg didapat bentuknya array, ya mesti to pul, array of attribut, method & event
    soalnya 1 elemen itu attributnya banyak, tiap-tiap attribut, method dan event itu jadi elemen array nya

    kalo elo kagak percaya, coba aja :

    for(el in target) { alert(el); }

    jalankan, elo bakal liat anggota array target

    jadi, kagak perlu pake [0]



    yg masalah trigger ... itu pan rumus nya dari itungan yg satunya
    scrolltop >= scrollheight - height

    kalo elo mau trigger jalan sebelum sampai batas bawah
    scrolltop >= scrollheight - height - x

    x nya :
    = height, kalo mau trigger jalan saat scroll lebih dari atau sama dengan posisi di tengah
    = (1/2 x height), kalo mau trigger jalan saat scroll posisi tiga perempat



    kalo masalah ke load 2x, ini masalah apa ? pastikan dulu ...
    kalo karena lambatnya response server ... mainan flag,
    bikin variabel js utk flag, global, jangan di dalam fungsi

    flag = true;
    ...
    ...
    if((scrolltop >= ...) && flag) {
      flag = false;
      // jalankan ajax
      // ajax selesai di eksekusi, sukses maupun gagal : flag = true
    }
  • ok... pake flag. iya saya ga kepikir itu. sipp. tak coba mas... :)
Sign In or Register to comment.