2010-12-06 17 views
2

je dois mettre en œuvre jquery BlockUI pour mon application .. J'ai ce code ..Comment utiliser jQuery BlockUI dans la page principale pour charger .. S'il vous plaît attendre Message

$.blockUI({ css: { 
      border: 'none', 
      padding: '15px', 
      backgroundColor: '#000', 
      '-webkit-border-radius': '10px', 
      '-moz-border-radius': '10px', 
      opacity: .5, 
      color: '#fff' 
     } }); 

     setTimeout($.unblockUI, 2000); 
    }); 

Je garde ce code dans chaque cliquez sur la fonction dans mes vues .. alors ça marche bien. mais je dois centraliser ce code en gardant ce code dans le fichier master si quelque chose prend plus de 2000 millisecondes puis-je montrer jQuery BlockUI? pour toute mon application. Si oui, s'il vous plaît quelqu'un peut-il m'aider à garder ce code dans la page maître quel genre de code que j'ai besoin de mettre en œuvre dans la page maître pour accéder à ce blockUI jQuery?

Répondre

2

Je fais de cette façon:

Dans le masterpage j'ai ajouté la référence de script et une référence à un script personnalisé où je le code suivant

//Set Defaults values for blockUI 
$.blockUI.defaults.theme = true; 
$.blockUI.defaults.title = 'Please wait...'; 
$.blockUI.defaults.message = '<img src="_assets/images/blockUI_Loader.gif" />'; 
$.blockUI.defaults.css = {}; 
$.blockUI.defaults.themedCSS = {}; 
$.blockUI.defaults.themedCSS.width = 100; 
$.blockUI.defaults.themedCSS.height = 64; 
$.blockUI.defaults.overlayCSS = {}; 
$.blockUI.defaults.overlayCSS.backgroundColor = '#ffffff'; 
$.blockUI.defaults.overlayCSS.opacity = 0.6; 

Puis, quand je dois l'utiliser dans appels ajax J'utilise simplement

$("#element").block(); 
$.ajax({ 
    type: "get", 
    dataType: "html", 
    url: "some/url", 
    data: {}, 
    success: function (response, status, xml) { 
     $("#element").unblock(); 
    }, 
    error: function (response) { 
     $("#element").unblock(); 
    } 
}); 
+0

Merci Lorenzo .. qu'est-ce que l'élément tag? – kumar

+0

Je pense que Lorenzo peut-on faire quelque chose comme ça? $ (Document) .ajaxSend (aSend) .ajaxStop (aStop); var aSend = function() { $ .blockUI(); Var aStop = function() { $ .unblockUI(); } – kumar

+0

L'élément est l'élément de marquage que vous souhaitez bloquer (par exemple, un formulaire, un div, etc.). Ceci est utile lorsque vous voulez bloquer seulement une partie de votre page et pas toute la page. Si vous voulez bloquer toute la page, vous pouvez utiliser la fonction blockUi ou simplement utiliser l'identifiant de votre élément de corps – Lorenzo

1

Pour le rendre accessible partout, sans l'écrire encore et encore, vous pouvez placer le code dans une fonction()

par exemple, placez dans votre fichier global javascript:

function blockUI(){ 
// $.blockUI({ css: {... 
} 

Ensuite, partout où vous en avez besoin, appelez blockUI();

+0

Ok Puis-je conserver ce code dans la page maître de la fonction? – kumar

+0

Si je vous comprends bien, oui vous pouvez. –

+0

Oui Adrian son travail pour moi .. une question est .. est-il possible que nous puissions faire au lieu d'appeler blockUI() dans tous les points de vue. Pouvons-nous faire quelque chose? sur n'importe quel bouton cliquez si cela prend plus de temps pouvons-nous afficher ce message automatiquement? sans appeler la fonction blockUI()? Corrigez-moi si je me trompe? merci – kumar