reGative Posted August 7, 2012 Report Share Posted August 7, 2012 Sveiki! Mācos pamazām lietot jQuery un te nu atkal sastapos ar problēmu. Nestrādā skripta otra daļa, kurai būtu jāaizver vajadzīgais div bloks. Kā redzat, console.log ir iekļauts, bet ieskatoties Chrome JS Konsolē, kļūdas nevienas neredzu. =( https://gist.github.com/3286471 - te atrodas smuki noformētais skripts. Tātad - ceru, ka saņemšu kādu risinājumu, varbūt pat labāku veidu, kā atrisināt šo lietu. Quote Link to comment Share on other sites More sharing options...
0 codez Posted August 7, 2012 Report Share Posted August 7, 2012 Ja tev ir if () {} else {}, tad vai nu tev izpildās, kas aiz if, vai kas aiz else, bet nekad abi reizē, lai arī ko tu mainītu pa vidu. Quote Link to comment Share on other sites More sharing options...
0 waplet Posted August 7, 2012 Report Share Posted August 7, 2012 Teorētiski pēc koda sanāk, ka viņš pat nepaspēj parādīt to ziņu, jo uzreiz aizveras.. :) Tev kkā savādāk vajag domāt .. click if(html() == ''){ dabuunam zinju } else{ message..css('display','none'); vai message.hide(); } Quote Link to comment Share on other sites More sharing options...
0 xPtv45z Posted August 8, 2012 Report Share Posted August 8, 2012 Kā domā, vai pastāv maz iespēja, ka count būs arī vienāds ar 1? :) var count = 0; ... if (count == 0) { ... } else if (count == 1) { .... } Quote Link to comment Share on other sites More sharing options...
0 reGative Posted August 8, 2012 Author Report Share Posted August 8, 2012 Tātad izlaboju pēc waplet ierosinājuma, bet tagad aizverot to bloku, viņš vairāk neatveras. Tikai pēc lapas pārlādes. https://gist.github.com/3293594 Quote Link to comment Share on other sites More sharing options...
0 Kemito Posted August 8, 2012 Report Share Posted August 8, 2012 Kā domā, vai pastāv maz iespēja, ka count būs arī vienāds ar 1? :) var count = 0; ... if (count == 0) { ... } else if (count == 1) { .... } Ja lieto daudzpunktus tad apzīmē, ka tur ir vēl koda rindas, un ja tajā manis pieminētajās koda rindās seko count mainīgā piešķiršana, šajā gadījumā count = 1 tad atbilde uz tavu jautājumu ir - Jā pastāv. Quote Link to comment Share on other sites More sharing options...
0 waplet Posted August 8, 2012 Report Share Posted August 8, 2012 (edited) $(".subject").click( function() { var message_id = $(".subject").data("message-id"); if ($("#message_content").html() == ''){ $.get("/friends_com/messages/view/"+message_id+"", function(data) { $("#message_content").fadeIn('slow', function() { $("#message_content").html(data); }) }); } else { $("#message_content").fadeOut().html(''); } }); Manuprāt fadeOut's neiztīra message_content, tāpēc viņš palika ar html'u iekšā, kā rezultātā pirmais if arī feiloja.. pārbaudi vai tā strādā :) Edited August 8, 2012 by waplet Quote Link to comment Share on other sites More sharing options...
0 codez Posted August 8, 2012 Report Share Posted August 8, 2012 Ja lieto daudzpunktus tad apzīmē, ka tur ir vēl koda rindas, un ja tajā manis pieminētajās koda rindās seko count mainīgā piešķiršana, šajā gadījumā count = 1 tad atbilde uz tavu jautājumu ir - Jā pastāv. WTF? Programmēšanas pamati jāmācās. 1)count vienmēr sākumā tiek uzstādīts uz 0, nemaz nerunājot, ka tas ir arī lokāls mainīgais un ārpus funkcijas vairs nepastāv. 2)if (condition) {statement1} else {statement2} konstrukcijā ja izpildās condition tad izpilda tikai un vienīgi statement1, ja nē, tad statement2. Ta kā sākumā uzliek, ka count=0 un tad pārbauda count==0, tad vienmēr izpildīsies tikai 1. daļa. Tas, ka statement1 izmaina count neko nenozīmē (lai gan patiesībā to izmaina pat asinhrons process citā controlflowā), pēc statment1 izpildes, programmā tālāk izpildās aiz if konstrucijas. Quote Link to comment Share on other sites More sharing options...
0 codez Posted August 8, 2012 Report Share Posted August 8, 2012 (edited) http://jsfiddle.net/5wZfH/1/ Settimeout vietā ajax. $('#msgs').on('click','.title',function(){ var mid=$(this).attr('mid'); var $t=$(this).next('.text'); if ($t.html()=='') { setTimeout(function(){ $t.html('Teksts '+mid); $t.fadeToggle(); },500); } else { $t.fadeToggle(); } }); Edited August 8, 2012 by codez Quote Link to comment Share on other sites More sharing options...
0 daGrevis Posted August 8, 2012 Report Share Posted August 8, 2012 Atbilde uz jautājuma virsrakstu: `</div>`. Quote Link to comment Share on other sites More sharing options...
0 waplet Posted August 8, 2012 Report Share Posted August 8, 2012 Ja tu paskaties sadaļu, kurā ir iepostēts, tad kļūdies :D $('body').html(this.html()+ '</div>'); tāds trollis diez straadaatu:? Quote Link to comment Share on other sites More sharing options...
0 daGrevis Posted August 8, 2012 Report Share Posted August 8, 2012 Tavā kodā `this` nebūs gluži tas, ko domā. Quote Link to comment Share on other sites More sharing options...
Question
reGative
Sveiki!
Mācos pamazām lietot jQuery un te nu atkal sastapos ar problēmu. Nestrādā skripta otra daļa, kurai būtu jāaizver vajadzīgais div bloks. Kā redzat, console.log ir iekļauts, bet ieskatoties Chrome JS Konsolē, kļūdas nevienas neredzu. =(
https://gist.github.com/3286471 - te atrodas smuki noformētais skripts.
Tātad - ceru, ka saņemšu kādu risinājumu, varbūt pat labāku veidu, kā atrisināt šo lietu.
Link to comment
Share on other sites
11 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.