Şimdi Ara

jQuery ajax'ı nasıl geciktirebilirim?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
8
Cevap
0
Favori
418
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar jQuery'de ajax kullanarak veri alıyorum başka bir siteden, kullanıcı her tıklamasında bu clickeventi çalışıyor ama mesela kulanıcı arka arkada 4-5 defa tıkladığı zaman çok hızlı çalışıyor ben bununu olmasını istemiyorum bunun için ne yapmalıyım?

    Şimdiden değerli fikirleriniz için çok teşekkür ederim.



  • http://www.w3schools.com/jquery/jquery_callback.asp
    *********************************************
    <!DOCTYPE html>
    <html>
    <head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    $("button").click(function(){
    $("p").hide(1000,function(){
    alert("The paragraph is now hidden");
    });
    });
    });
    </script>
    </head>
    <body>
    <button>Hide</button>
    <p>This is a paragraph with little content.</p>
    </body>
    </html>




  • tıklamaya basar basmaz javascript ikle buttonun onclick eventini kaldırım 5 sn sonra otomatik geri ekleyeceksin. settimeout fonksiyonu ile halledebilirsin.
  • quote:

    Orijinalden alıntı: Kaygerya

    tıklamaya basar basmaz javascript ikle buttonun onclick eventini kaldırım 5 sn sonra otomatik geri ekleyeceksin. settimeout fonksiyonu ile halledebilirsin.

    Hocam settimeout ile yapmaya çalışıyorum ama olmuyor? tam olarak bunu nasıl nereye yazabilirim hocam?

     

    <div id="container" onclick="rightImage();"><div id="sec"><?php $obj->get_images(); ?></div></div>







     

    function rightImage(){

    jQuery.support.cors = true;
    var xml = 'http://developer.echonest.com/api/v4/artist/images?api_key=EDQLUZK5UJNGNGRVW&format=xml&start='+start+'&results=16&name=madonna';
    start += 16;

    $.ajax({
    type: "GET",
    url: xml,
    dataType: "xml",
    success: parseImage,
    error: function(xhr, ajaxOptions, thrownError){
    alert(xhr.status);
    alert(thrownError);
    }
    });

    }





  • arkadaşlar bilen yokmu?
  •  

    function rightImage(){

    //burada container divinin onclick özelliğini kaldırıyorum. alta 5 sn sonra tekrar ekleyeceğim
    $('#container').removeattr('onclick');

    jQuery.support.cors = true;
    var xml = 'http://developer.echonest.com/api/v4/artist/images?api_key=EDQLUZK5UJNGNGRVW&format=xml&start='+start+'&results=16&name=madonna';
    start += 16;

    $.ajax({
    type: "GET",
    url: xml,
    dataType: "xml",
    success: parseImage,
    error: function(xhr, ajaxOptions, thrownError){
    alert(xhr.status);
    alert(thrownError);
    }
    });

    //burda container divine yeniden onclick ekliyoruz
    setTimeout(" $('#container').attr('onclick','rightImage()')", 5000)


    }



    belki syntax hatası olabilir. doğrudan buraya yazdım.




  • Bir şey soracağım. Durumu yanlış anlamış da olabilirim belki. Şöyle bir senaryo düşünün, düğmeye tıklandı, ajax sorgusu gönderildi, düğmeye tekrar tıklandı, başka bir ajax sorgusu gönderildi, iki ajax sorgusunun cevabı geldi ve ekranda gösterildi. Sizin sorduğunu soru bu senaryodaki gibi mi? Bu durumda beş saniye sonrasına tıklama olayını tekrar kurdurmak saçma olmaz mı? oncomplete yönteminin sonuna eklemeniz yeterli.

    İkinci senaryo olarak, şunu düşünün: düğmeye tıklandı. Cevap hızlıca geldi ama kullanıcı yeniden tıkladı ve yine cevap geldi. Bu durumdan mı kurtulmaya çalışıyorsunuz?
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • Anladığım kadarıyla istediğini şöyle yapabilirsin (jQuery pek kullanmadım, o yüzden oradaki isimler farklı olabilir)
    beforerequest eventine, butonu disable eden kodu yazacaksın,
    requestcomplete ve requestexception eventlerine de butonu enable eden kodu yazacaksın.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.