Ir para conteúdo
Fórum Script Brasil
  • 0

Busca "Palavras em uma lista" com java script


GustavoCosta

Pergunta

Boa tarde, Preciso de ajuda,

Estou buscado palavras em uma página html, onde o texto procurado, são nome de arquivos, e estes estão categorizados.

utilizo jQuery com a função .each(), a pesquisa é realizada a partir de 3 caracteres, em um form, e percorre toda uma estrutura html, dividida em categorias, que inclusive estão com acordion, para a exibição do conteúdo. então eu pesquiso apenas dentro do conteúdo de cada categoria, pois os itens possuem a mesma 'class' encontrando eu marco o item e abro a categoria correspondente. até aqui tudo bem.

o problema: esta travando o jQuery por possuir muitos itens, o .each() utiliza muita memória então ao varrer mais de 500 itens a página trava.

Parte do código:

itens.each(function(){						
  var $item = $(this),
  texto = slugfy($item.text().toLowerCase());	
  
  if (texto.indexOf(term) >= 0) {
							
   $item.addClass('find');
   $item.parents('.indice-list li').addClass('find');
   $item.parents('.list-categoria').show('slow');
   $item.parents('.list-categoria').addClass('active');
   $item.parents('.list-categoria').addClass('found');
   $item.parents('.list-categoria').find('.open-categoria').show('slow');
   $('.indice-list li.find > a').addClass('bold');
						
 } else {
  //alert(result);
  $item.parent().addClass('invisible');
  $item.parents('.indice-list li').addClass('invisible');
  $item.parents('.indice-list li').parents('.indice-letter-group').addClass('invisible');
}
						
});

Alguém possui alguma alternativa? algo apenas em javaScript eliminando o jQuery? eu preciso percorrer n itens que estão dispostos em categorias separadas.

obrigado

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

<script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

A melhor maneira de fazer isso é usando expressoes regulares :

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match

Boa leitura

Valeu, mas o meu problema não é efetuar a pesquisa.... esta parte já está pronta. Meu problema é percorrer todos os itens em que dentro da estrutura html estão dispostos em várias listas diferentes, ou seja, itens dentro de uma lista, que esta dentro de uma estrutura de categorias que está disposta em um accordion.

eu tenho duas classificações: um índice por ordem alfabética, e as categorias dentro de cada índice exibidas em accordion, cada categoria possui n arquivos....
minha pesquisa é realizada no nome do arquivo. então tenho que percorrer todos os nomes de arquivos em todas as categorias de todos os índices. quando encontro aplico uma class css (.found) e o resto todo já está pronto.

Utilizando o JQuery é simples, percorro n elementos com o .each(), mas devido a quantidade de itens a página está travando, preciso percorrer estes elementos sem o uso do JQuery, ou talvez sem criar um arry que é o que o .each() faz... um for? um while? qual a melhor forma? para que a página não trave? ou esqueço js e aplicamos uma pesquisa local feita com .net(o projeto é em .net) e ajax?


Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...