Показать сообщение отдельно
  #25 (permalink)  
Старый 29.04.2011, 10:38
Аспирант
Отправить личное сообщение для ale19 Посмотреть профиль Найти все сообщения от ale19
 
Регистрация: 10.04.2011
Сообщений: 69

вот так заработало
function loadCheck(i){
 i = i || 0;
 var bquery = $("#ldF999").text().match(/([а-яёa-z]){4,}/gi);
 var query = bquery[i];
 $('#ressearch').show().html('<span id="searchload"><img src="/loader.gif" border="0"></span>');
 $.post('/load/', {query: query, a: 2},
 function(rez){
 var norez = $(".newslink:first", rez).attr("href");
 if (norez==location.href)
 {loadCheck(i+1); return false;}
 window.count = 0;
 $(".newslink", rez).each(function(){
 window.count = window.count + 1;
 if (window.count > 5) return;
 var hrf = $(this).attr("href");
 var txt = $(this).text();
 if(hrf != location.href){
 var hrfs = '<a href="'+hrf+'" class="newpotem">'+txt+'</a>';
 }
 $("#searchload").hide().after(hrfs);
 });});}
 setTimeout("loadCheck()",1);


только нужно еще прекратить поиск,когда закончатся bquery[i];

а еще лучше было бы если б убрать if(hrf != location.href) и присвоить условие что если
hrf==location.href то <a href="'+hrf+'" class="newpotem">'+txt+'</a> не отображается в результатах (display:none)
и если результат является единственным,т.е. только hrf==location.href то тогда loadCheck(i+1); return false;

тогда бы и
...
if (norez==undefined)
{loadCheck(i+1); return false;}
...

тоже работало бы...хотя это выражение уже и не было бы нужным,т.к. результат есть всегда хотя бы один,где hrf=location.href

вобщем возможно ли вот для такого вида
function loadCheck(i){
 i = i || 0;
 var bquery = $("#ldF999").text().match(/([а-яёa-z]){4,}/gi);
 var query = bquery[i];
 $('#ressearch').show().html('<span id="searchload"><img src="/loader.gif" border="0"></span>');
 $.post('/load/', {query: query, a: 2},
 function(rez){
 window.count = 0;
 $(".newslink", rez).each(function(){
 window.count = window.count + 1;
 if (window.count > 5) return;
 var hrf = $(this).attr("href");
 var txt = $(this).text();
 if(hrf == location.href){var hrfs = '';}
 else {var hrfs = '<a href="'+hrf+'" class="newpotem">'+txt+'</a>';
 }
$("#searchload").hide().after(hrfs);
 });});}
 setTimeout("loadCheck()",1);

задать условие что при единственном результате где hrf == location.href будет выполняться loadCheck(i+1); return false;

Последний раз редактировалось ale19, 29.04.2011 в 17:14.
Ответить с цитированием