ладно , задам вопрос "в лоб" мне абсолютно ясно - в любой задаче нужен план - алгоритм в общем задача : реализовать галерею как сделать на пхп - раз плюнуть , сделал за часик - просто я на пхп да и на определённом двигле только и "шедевралил" последние пару лет , вот захотелось "развиться" в плане js/ajax/jq к вопросу ближе - у меня есть альбомы , в них фото которые я могу извлекать только в массив линками так же у меня есть , так сказать - навигатор (+2 фото от просматриваемой и -2 фото от просматриваемой , всего 5 - просматриваемая по центру) и ещё у меня есть комментарии к каждой фотке - есть вариант извлекать все комментарии к альбому за один раз в чём задача - при клике на "вперёд" переключить на +1 фотку , просматриваемая фотография переключается на следующую (это уже есть в примере с json) , одновременно с кликом переключается навигатор(см выше) на +1 (его так же можно извлекать из массива созданного раньше) и одновременно с кликом перезагружать комментарии в чём проблема ... как я писал раньше - да , я могу с каждым кликом делать запросы заново - делать запрос в бд , извлекать массив , строить навигатор , делать запрос на комментарии , строить комментарии. и того на каждый клик по 2 запроса в бд ... да это мало , но я знаю что профессиональный коддер сделал бы это как я себе представляю - фотки и комментарии в массив при загрузке первого фото , а дальше простое извлекание из массива фоток и комментов и ненужно делать бессмысленные запросы в бд на онклике. и проблема в том что я ещё не научился мыслить валидно по js'ки =) непойму алгоритма решения подобных задач. я просто прошу подсказать максимум который можете изложить - например массив фоток обрабатывать json вместе с отформарованным массивом комментариев при просмотре первой фотографии или может просто проще делать тупые запросы за фотки и комменты... я просто хочу понять в каком правильном направлении мне мыслить =) сделать , то я могу и через ЖО , но я хочу сделать это валидно. спасибо за советы )
siiXth забей на фобию "запросов к бд". все один лучше получится в любом случае, чем на файликах и ли как-то еще по-самописному. нет ничего страшного в десятке запросов к бд.
я уже горюююю что тут мать его не так ? а точнее - с 3ей строки [js]$(document).ready(function () { $('img#photo').imgAreaSelect({ handles: true }); $("#mark").click(function() { $.ajax({ type: "POST", url: "mark.php", data: "x1="+val(selection.x1), beforeSend: function(){ }, success: function(answ){ $("#proccess").empty() .append(answ); } }); }); });[/js]
так , туплю PHP: <? $result['marksname']=$marksname; $result['markstables']=$markstables; ?> это в пхп на выходе [js]$("#marked").append(result.marksname); $("#markstables").append(result.markstables);[/js] это в js на выводе тут где-то чтото не то ) чую что неправильно в пхп выход делаю =(
хз, я обычно с json работаю в php - echo json_encode($result) в яваскрипте - Код (Text): $.ajax({ dataType: 'json', cache : 'false' , type : 'post', url : url, data : { id : id, count : count }, success : function(data){ alert(data.marksname); alert(data.order_sum); }, error : _displayError }); }
[js]$(#mark_human).click(function () { //клик на id=mark_human $(.marksnames).attr('onmouseover', ''); // вырубаем onmouseover у класса marknames });[/js] я крут - сам написал и не работает хелпайте
ага , вопрос jq создаёт в спане с id=trololo , картинку с классом=tralala к которой jq больше не может обратиться. в чём подвох ? = (
Может-может, никаких подвохов тут нет. Главное, чтобы во время вызова элемента он уже был создан тем же JQ.
эх , проверьте пжлста в чём беда HTML: <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> function begin(){ $(document).ready(function(){ var id=1; $.ajax({ dataType: 'json', cache : 'false' , type : 'post', url : 'getone.php', data : { id : id, }, beforeSend: function(){ $("#33").empty().append('prepare'); }, success : function(data){ $("#33").empty().append(12); }, error : _displayError }); }); } </script> </head> <body> <a href="#" onclick="begin()">###</a> <p id="33"></p> </body> </html> jq правильно подключён , работает , выводит. ошибка в отправке запроса где-то , beforeSend не отзывается. ну и на всякий случай getone.php :Р PHP: <?php $dates['photo']=1212; echo json_encode($dates); ?>
Вижу точно, что ошибка в настройках табуляции редактора. ID должен начинатся с [A-Za-z] Текст в узел лучше добавлять через .text(), ибо .append чуточку для другого. Смотри дебагером, уходит ли запрос и что с сервера приходит
ах лол , я критина кусок 8D в пхп файле перед <? был закомментеный хтмл ) незнал что он влияет интересно что beforesend не отзывался только...
как-то пауза в цикле не работает , в чём может быть проблема ? [js]function begin(){ i = 0 while (i<10) { window.setTimeout(function(){ i ++; $.ajax({ dataType: 'json', type : 'post', url : "/go/getone.php", data : { nid : i, }, beforeSend: function(){ //$("#33").empty().append('prepare'); }, success : function(data){ $("#33").append(data.photo+' '+data.id); } }); },5000); //window.setTimeout(function(){ } // while (i<10) { }[/js]
сет таймаут это тебе не пауза =) он вызовет через пять секунд твою функцию ты в цикле говоришь ему сделать это несколько раз. но все эти вызовы случатся через пять секунд. =) задумайся
хм ну смотри , начался цикл , тело цикла вызовется через 5 секунд , обработается и цикл начнётся с начала и тело опять через 5 секунд - мне так и надо. или js выполняется непоследовательно как пхп например со sleep() ? ну дело в том что такой вариант вообще не работает ) мне тупо нужно чтобы цикл выполнялся раз в 5 цекунд