![]() |
Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
[jQuery]Acces variabile exterior handler loadedmetadata
Last Updated: Feb 14 2016 13:46, Started by
TorchMan
, Feb 14 2016 13:46
·
0

#1
Posted 14 February 2016 - 13:46

Salut,
Am urmatorul cod: $(document).ready(function(){ var videoCache = $('#bg-video'); /* We get the width and the height of the video file*/ $('#bg-video').on('loadedmetadata',function(){ videoCache.data('width', videoCache.width()); videoCache.data('height', videoCache.height()); $('#log').text(videoCache.data('width') + ' ' + videoCache.data('height')); }); }); Am nevoie sa initializez data-width si data-height cu width-ul si height-ul unui video si apoi ma folosesc de un paragraf cu idul 'log' sa verific daca totul e ok. De exemplu daca am un video cu rezolutia 1364 x 768, acel paragraf ar trebui sa contina textul "1364 768". In forma actuala, paragraful afiseaza dimensiunile corect, dar daca mut linia in afara handler-ului, $(document).ready(function(){ var videoCache = $('#bg-video'); /* We get the width and the height of the video file*/ $('#bg-video').on('loadedmetadata',function(){ videoCache.data('width', videoCache.width()); videoCache.data('height', videoCache.height()); }); $('#log').text(videoCache.data('width') + ' ' + videoCache.data('height')); }); Se afiseaza "undefined undefined". Presupun ca acea scriere in paragraf are loc inainte de initializarea din handler, asta fiind probabil si motivul pentru care nu sunt inca definite. Am incercat ca si rezolvare sa declar o variabila globala si sa o initializez cu "false", urmand sa o setez pe "true" in momentul in care se iese din handler, iar intr-o bucla while ar trebui sa astept terminarea functiei respective. var handlerIsDone = false; $(document).ready(function(){ var videoCache = $('#bg-video'); /* We get the width and the height of the video file*/ $('#bg-video').on('loadedmetadata',function(){ videoCache.data('width', videoCache.width()); videoCache.data('height', videoCache.height()); handlerIsDone = true; }); while(!handlerIsDone){} $('#log').text(videoCache.data('width') + ' ' + videoCache.data('height')); }); Doar ca lucrurile nu stau chiar asa, aparent "handlerIsDone" nu e niciodata setat pe true, iar acel while nu se opreste deci niciodata. Care ar fi solutia sa pot accesa data-width si data-height din exterior ? |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users