No0ne Posted September 21, 2011 Report Share Posted September 21, 2011 Sākšu uzreiz ar linku, jo savādāk ļoti grūti izskaidrot būs. http://www.filmas-online.lv/quick.php?stack=1 Tajā linkā doma tāda, ka uzspiežot uz + "Skatīšos vēlāk" ir jāpalielinās par 1, bet nospiežot - jāsamazinās par 1. <script type="text/javascript"> $(function() { $('.over_img, .on_img').click(function(){ var amount = $(this).hasClass('over_img') ? 1 : -1 ; $('.gramatz').text(function(i, val){ return '(' + ( +val.replace(/[^\d]/g, '') + amount) + ')'; }); }); $(".love").click(function() { var id = $(this).attr("id"); var dataString = 'id='+ id; var parent = $(this); $(this).fadeOut(300); $.ajax({ type: "POST", url: "bookmark.php", data: dataString, cache: false, success: function(html) { parent.html(html); parent.fadeIn(300); } }); return false; } ); }); </script> Ja tur ir pluss, tad tas veidojas no over_img, ja minuss, tad no on_img div klaseem. Problēma ir tajā, ka tas over_img un on_img rodas pēc klikšķa no tā ko atgriež bookmark.php fails. Nu un nestrādā mīnuss, nespēju izprast kā izlabot. Link to comment Share on other sites More sharing options...
No0ne Posted September 22, 2011 Author Report Share Posted September 22, 2011 anyone? Link to comment Share on other sites More sharing options...
briedis Posted September 22, 2011 Report Share Posted September 22, 2011 Nevar jau šiti saprast, kas tev tur nestrādā, cik tālu kods izpildās. Nestrādā ajax pieprasījums? Nevari uzstādīt elementam klasi, atribūtus? Link to comment Share on other sites More sharing options...
No0ne Posted September 22, 2011 Author Report Share Posted September 22, 2011 Es nesaprotu, kas tur īsti nestrādā, tieši tāpēc iedevu linku. Ja tas <div class="on_img"> būtu pa taisno kodā, tad viss strādā, bet tā kā viņas rodas no tā, ko pretī pieprasījumam saņem jquerys, tad viņas nestrādā kā vajag. http://jsfiddle.net/gaA2J/1/ rekur ir piemērs, ka strādā ja ir + un - vienkārši kā html uzrakstīts. Bet man sākumā ir viens, bet pēc tam jquery to nomaina uz pretējo un tad vairs nestrādā kā vajag, piem man ir sads html: <span class="gramatz">(8)</span> <div class="over_img">POGA</div> piespiezjam POGA, over_img nomainas uz on_img un gramatz kljust par (9). OK tagad spiezam tikko izveidoto jauno POGU un gramatz butu jaklust atpakal par (8) bet fig. Tā nu būtu tā problēma. Link to comment Share on other sites More sharing options...
xPtv45z Posted September 22, 2011 Report Share Posted September 22, 2011 .click vietā lieto .live('click', ...) Link to comment Share on other sites More sharing options...
No0ne Posted September 22, 2011 Author Report Share Posted September 22, 2011 Ja tā uzliek, tad tas cipars vispār nekustās, pirms tam vismaz uz vienu pusi kustējās. Vēl kādas idejas? Link to comment Share on other sites More sharing options...
xPtv45z Posted September 22, 2011 Report Share Posted September 22, 2011 Nu es ceru, tu neliki tieši tā kā es uzrakstīju. :) Link to comment Share on other sites More sharing options...
No0ne Posted September 22, 2011 Author Report Share Posted September 22, 2011 (edited) Nu kā.. $('.over_img, .on_img').live('click', function(){ vajadzēja savādāk? P.S. un jā arī tālāk turpinās viss.. ai rekur pilnais kods lai nebutu jautajumu vai tiesam tas un tas ir pievienots :D <script type="text/javascript"> $(function() { $('.over_img, .on_img').live('click', function(){ var amount = $(this).hasClass('on_img') ? 1 : -1 ; $('.gramatz').text(function(i, val){ return '(' + ( +val.replace(/[^\d]/g, '') + amount) + ')'; }); }); $(".love").click(function() { var id = $(this).attr("id"); var dataString = 'id='+ id; var parent = $(this); $(this).fadeOut(300); $.ajax({ type: "POST", url: "bookmark.php", data: dataString, cache: false, success: function(html) { parent.html(html); parent.fadeIn(300); } }); return false; } ); }); </script> arī $.love meginaju mainit uz live, tapat nebija rezultata. Edited September 22, 2011 by No0ne Link to comment Share on other sites More sharing options...
daGrevis Posted September 23, 2011 Report Share Posted September 23, 2011 Viss ko dzīvais īvents dara ir meklē arī tajos elementos, kas ir pievienoti kaut kā maģiski (piemēram no AJAX atbildes) pēc lapas ielādes. T.i., vēlreiz ielādē DOM koku. :) Link to comment Share on other sites More sharing options...
codez Posted September 23, 2011 Report Share Posted September 23, 2011 live ir speciālgadījums no tā, ko dara delegate, tāpēc labāk iesaku lietot (un saprast kā tas strādā) .delegate() Link to comment Share on other sites More sharing options...
No0ne Posted September 23, 2011 Author Report Share Posted September 23, 2011 $('body').delegate('.over_img, .on_img', 'click', function(){ var amount = $(this).hasClass('on_img') ? 1 : -1 ; $('.gramatz').text(function(i, val){ return '(' + ( +val.replace(/[^\d]/g, '') + amount) + ')'; }); }); divs `gramatz`, piespiezjot plusu, paliek nemainigs. varbut kads var pateikt, kas konkreti un uz kadu kodu ir jaizlabo? Link to comment Share on other sites More sharing options...
No0ne Posted September 24, 2011 Author Report Share Posted September 24, 2011 Es zinu, ka kāds no šī foruma apmeklētājiem noteikti zin, kas par vainu. Joprojām aktuāli! Link to comment Share on other sites More sharing options...
briedis Posted September 24, 2011 Report Share Posted September 24, 2011 (edited) Visdrīzāk, ka nezin gan, bet nebūtu problēmu to atrisināt. Te problēma ir tikai debugošanā, jo problēma nav acīmredzama. Nevienam negribas vienkārši tavā vietā urbties cauri kodam un debugot viņu. Ej cauri kodam, liec attiecīgajās vietas šādas rindiņas: alert("Kods izpildās šeit"); vai alert("Mainīgā vērtībā ir: " + kautKadsMainigais); un skaties, cik tālu kods izpildās, kādas vērtības nonāk mainīgajos. LOKALIZĒ PROBLĒMU! Edited September 24, 2011 by briedis Link to comment Share on other sites More sharing options...
daGrevis Posted September 24, 2011 Report Share Posted September 24, 2011 console.log(), like a boss. Link to comment Share on other sites More sharing options...
No0ne Posted September 24, 2011 Author Report Share Posted September 24, 2011 tā arī neizpratu kā ar firebug var ērti ar javascripta debugošanu ņemties, bet nu ok, klausīju briedim, aizņēma gan tas diezgan, bet beigu beigās panācu to, ko vajag. kā? tieši tā, kā xPtv45z teica - click vietā jālieto live('click',.. Paldies viņam un nepaldies reizē, jo, ja viņš tomēr bija domājis, ka tas click ir jāmaina visiem 3 (over_img, on_img un love), tad varēja pateikt, lai es nebūtu tik briesmīgi ilgi čakarējies, kā nekā kodu es iekopēju jau pirms tam. Link to comment Share on other sites More sharing options...
Recommended Posts