2016-04-11 21 views
1

div-id bir işleve (gösterme) geçmek ve daha sonra tüm & tümünü kaplayan yükleme görüntüsünü göstermek veya daha sonra div-id'u başka bir işleve (gizle) geçirmek ve gizlemek mümkün mü? div üzerinde gösterilen yükleme resmi. Bu gibi bir şey aramaya gerek yokgeneric çözümü yaratmaya çalışıyorum.Verilen herhangi bir div üzerinde yükleme simgesini gösteren genel işlev

jQuery.ajaxSetup({ 
    beforeSend: function() { 
    $('#loaderDiv').show(); 
    }, 
    complete: function(){ 
    $('#loaderDiv').hide(); 
    }, 
    success: function() {} 
}); 

Her div için simge yüklendiğinde göstermek istiyorum. Tüm sayfayı kapsayan sadece büyük bir div göstermek istemiyorum. Lütfen yardım et.

+0

hangi içerikle istediğiniz şekilde kaplayan CSS bir sınıf olun ve sonra sadece ekle/o sınıfı kaldırabilirsiniz. Birçok seçeneklerden biri. –

+0

Hedef div'unuzun seçicisini tanımlayan $ .ajax (url, settings) öğesine bir ayar oluşturabilirsiniz. Bir yükleyiciyi yerinde göstermek için ajaxsetup'da kullanabilirsiniz. – Steve

+0

@MariM: Css sınıfına konum, yükseklik ve genişlik açısından başka bir div üzerinde yer almasını nasıl söyleyebilirim? – OpenStack

cevap

3

$ .ajax (url, [settings]) için sağlanan bir ayarı kullanarak, bir yükleme divinin yerini değiştirebilirsiniz.

$.ajaxSetup({ 
    beforeSend: function(xhr, settings) { 
     var $target = $(settings.targetSelector); 
     var $loading = $('#loaderDiv'); 
     $loading.css($target.position()); 
     $loading.width($target.width()); 
     $loading.show(); 
    }, 
    complete: function() { 
     $('#loaderDiv').hide(); 
    } 
}); 

//then later in a button click or whatever 
$.ajax('URL', { 
    targetSelector: "#DIV_TO_OVERLAY" 
}); 

https://jsfiddle.net/x3f8ntdv/

İlgili konular