během ajaxovýcho požadavku loading animace
- jazby
- Člen | 44
To teda s nette nesouvisí defacto vůbec.
Ale například takhle. Beru to z jednoho systému kde to mám, bez
vyčištění, pro inspiraci snad stačí)
Jinak stačilo použít google a odpověď by byla hned.
<script>
$(document).ajaxStart(function () {
$("#ajax-progressbar").center();
$("#ajax-progressbar").show();
}).ajaxStop(function (){
$("#ajax-progressbar").hide();
});
</script>
<div id="ajax-progressbar">
<div class="container">
<div class="header">Načítám...</div>
<div class="body">
<img src="http://sosej.jazby.net/images/activity.gif" alt="" />
</div>
</div>
</div>
Editoval jazby (19. 7. 2013 9:46)
- jazby
- Člen | 44
duskohu napsal(a):
Popripade ak pouzivas nette.ajax.js tak ma na to extension spinner.
No to mě hne nenapadlo. Sem koukl do prvního adminu kde vím že to mám, ale ten zrovna není na nette :) Spinner využívám taky, díky za připomenutí.
- Domki
- Člen | 310
duskohu napsal(a):
Popripade ak pouzivas nette.ajax.js tak ma na to extension spinner.
A to rozsireni si ten kod mam ulozit do slozky js, nalinkovat?
nebo jak to mám pouzít?
- Domki
- Člen | 310
Tak už jsem na to asi přišel, tak se chci ujistit zda to je tak dobre
extension spinner. sem stahl do js a nalinkoval v layout.latte
a v layoutu do tagu script jsem napsal:
$.nette.ext('spinner', {
start: function () {
},
complete: function () {
}
});
To je vše?
a jinak se pouziva trída #ajax-spinner a obrazek spinner uz v sandboxu?
Díky
Editoval Domki (20. 7. 2013 10:05)
- Michal Vyšinský
- Člen | 608
Myslím, že by to mělo stačit jen nalinkovat ten soubor. To co jsi pak kódem udělal ty, je, že jsi přepsal to extension.
- duskohu
- Člen | 778
Ten subor staci nalinkovat, napr ja som si ho trosilinku upravil, to je uz podla teba:
(function ($, undefined) {
$.nette.ext('spinner', {
init: function (x) {
this.spinner = this.createSpinner();
this.spinner.appendTo('body');
},
start: function (jqXHR, settings) {
this.spinner.css({
left: '50%',
top: '30%'
});
this.spinner.show(this.speed);
},
complete: function () {
this.spinner.hide(this.speed);
}
}, {
createSpinner: function () {
return $('<div>', {
id: 'ajax-spinner',
css: {
display: 'none'
}
});
},
spinner: null,
speed: undefined
});
})(jQuery);
#ajax-spinner {
position: fixed;
width: 32px;
height: 32px;
background: url('../img/ajax_loader.gif') no-repeat;
z-index: 123456;
}
- Oli
- Člen | 1215
Jestli to chápu dobře, tak stačí zprovoznit nette.ajax.js a pak
nalinkovat extension spinner? Zkoušel jsem to tak, ale nejsem schopen to
zprovoznit.
@layout.latte
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="{$basePath}/js/ajax/nette.ajax.js"></script>
<script type="text/javascript" src="{$basePath}/js/main.js"></script> // obsahuje $.nette.init();
<script type="text/javascript" src="{$basePath}/js/ajax/extensions/spinner.ajax.js"></script>
css
#ajax-spinner {
position: fixed;
width: 32px;
height: 32px;
padding: 13px;
background: white url('../img/ajax_loader.gif') no-repeat 50% 50%;
z-index: 123456;
}
Spinner.ajax.js jsem nechal nezměněný z GitHubu. Nevím jestli mám volat $.nette.init() před nebo po nalinkování extension, zkoušel jsem oboje, ale nejde ani jedno.
Co dělám špatně? Díky!