• 28-10-2012, 00:26:22
    #1
    Merhaba,

    Post işlemi yaptığım bir kısım var. Belirli bir divin içerisine tam sayı belli olmamakla beraber 100-250 arası yeni div ekliyorum. Bu işlemi yaparken de ekranı karartıp bir gif kokuyorum yalnız gif donuyor ve istediğim sonucu vermiyor. Bu donma sorununu nasıl aşabilirim ?
  • 28-10-2012, 11:04:55
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    kodları ekleyebilir misiniz?
  • 28-10-2012, 12:13:07
    #3
    phpQuery adlı üyeden alıntı: mesajı görüntüle
    kodları ekleyebilir misiniz?
    document.getElementById("div_days").innerHTML = "<div style=\"margin:35px 0 0 95px;\"><img src=\"images/loading.gif\" /></div>";
        for (var i = 0; i < $("#content > .div_match").size(); i++) {
            if ($(".div_match:eq(" + i + ")").attr("normtarih") != gunbulma(matches_date)) {
                $(".div_match:eq(" + i + ")").css({ "display": "none" });
            }
            else if ($(".div_match:eq(" + i + ")").attr("normtarih") == gunbulma(matches_date)) {
                $(".div_match:eq(" + i + ")").css({ "display": "inline" });            
            }        
        }
    Bu kısımda o bahsettiğim 200 div içerisinde işlemleri yapıyor ama o gif de sürekli donmalar oluyor..
  • 28-10-2012, 12:19:40
    #4
    Hocam bu kodlarla hiç jQuery kütüphanesini yüklemeseniz bile olur neredeyse

    $("#div_days").html('<div style="margin:35px 0 0 95px;"><img src="images/loading.gif" /></div>');
    
    $('#content > .div_match').each(function() {
        if ($(this).attr("normtarih") != gunbulma(matches_date)) {
            $(this).css("display", "none");
        }
        else {
            $(this).css("display", "inline");
        }         
    }
    Gif'deki donmalar ise kodlarınızın tarayıcıyı aşırı yormasından kaynaklanıyor. gunbulma fonksiyonunu görmeden kesin bir şey söylenemez.
  • 28-10-2012, 12:27:49
    #5
    Hkan adlı üyeden alıntı: mesajı görüntüle
    Hocam bu kodlarla hiç jQuery kütüphanesini yüklemeseniz bile olur neredeyse

    $("#div_days").html('<div style="margin:35px 0 0 95px;"><img src="images/loading.gif" /></div>');
    
    $('#content > .div_match').each(function() {
        if ($(this).attr("normtarih") != gunbulma(matches_date)) {
            $(this).css("display", "none");
        }
        else {
            $(this).css("display", "inline");
        }         
    }
    Gif'deki donmalar ise kodlarınızın tarayıcıyı aşırı yormasından kaynaklanıyor. gunbulma fonksiyonunu görmeden kesin bir şey söylenemez.
    function gunbulma(gunsm) {
        if (gunsm.indexOf(",") == -1) {
            return gunsm;
        }
        else {
            var gunvsira = gunsm.indexOf(",");
            var yeniguns = gunsm.substr(0, gunvsira);
            return yeniguns;
        }
    }
    jscript dosyasının toplam satır sayısı 4500 filan aynı anda yapılan işlemlerin çok küçük bir kısmı bu arka planda 350 ms de bir sürekli olarak çalışan bir fonksiyon var. O bahsettiğim 200 adet div'i post pethodu ile güncelliyor. Onunda etkisiyle doğal olarak donuyor galiba..
  • 28-10-2012, 12:46:07
    #6
    Evet, yaptığınız bu işlem tarayıcı yorar. Hepsini bir anda güncellemek yerine tek tek sırayla güncelleyin. Ancak bu da çok etkili olmaz. Eğer yapabiliyorsanız, tek AJAX ile tüm div'lerin içeriğini almaya çalışın.
  • 28-10-2012, 13:02:13
    #7
    Hkan adlı üyeden alıntı: mesajı görüntüle
    Evet, yaptığınız bu işlem tarayıcı yorar. Hepsini bir anda güncellemek yerine tek tek sırayla güncelleyin. Ancak bu da çok etkili olmaz. Eğer yapabiliyorsanız, tek AJAX ile tüm div'lerin içeriğini almaya çalışın.
    O şekilde yapıyorum tek ajax da tüm divlerin içeriğini alıp sonra sırayla divleri güncelliyorum.

    Ama bu gif gibi donmadan devam etmesini istediğim şeyler için öncelik filan belirtemezmiyim ? Yada c# daki gibi yeni bir thread filan