Jquery: Búsqueda Instantanea parte 2

Como prometí aqui va la segunda parte del tutorial para búsqueda instantanea, voy a mostrar como adaptarlo a 2 páginas web distintas en el primer caso una forma simple usando la web de NeoTeo y para el segundo caso voy a hacer un Flickr Instant usando su respuesta JSON.

NeoTeo

En este caso no existe una respuesta JSON que podamos parsear y mostrar así que usaré un iframe con id «miframe» que transmita mi búsqueda y la muestre. Para ello voy a usar una sola función llamada «getTopSearchResult» la que a su vez invoca la función doneWorking que básicamente nos indica que la búsqueda fue exitosa, ya hablaré de esta más adelante.

[cc lang=»javascript»]
function getTopSearchResult(keyword) {
var the_url = ‘http://www.neoteo.com/tag/’+keyword+’.neo’;
doneWorking();
$(«#miframe»).attr(‘src’, the_url);
}
[/cc]

Flickr Instant

Flickr al igual que la gran mayoría de portales web 2.0 si ofrece resultados en formato Json, asi que voy a provecharme de esta característica para buscar resultados y luego poder mostrarlos correctamente ordenados.

Primero voy a buscar resultados con esta función:
[cc lang=»javascript»]
function getTopSearchResult(keyword) {
var the_url = ‘http://api.flickr.com/services/feeds/photos_public.gne?tags=’+encodeURIComponent(keyword)+’&format=json&jsoncallback=?’;
$.getJSON(the_url, displayImages);
doneWorking();
}
[/cc]

Ahora el problema es convertir ese resultado json en algo más coherente y util para el usuario, lo que logro con la función «displayImages»
[cc lang=»javascript»]
function displayImages(data) { // inicia la busqueda
////var iStart = Math.floor(Math.random()*(11));
// Empezamos
var htmlString = «

    «;

    // Mostramos resultados
    $.each(data.items, function(i,item){
    // Decimos que muestre thumbnails cuadrados
    var sourceSquare = (item.media.m).replace(«_m.jpg», «_s.jpg»);

    // Empezamos a mostrar uno por uno
    htmlString += ‘

  • ‘;
    htmlString += ‘' + item.title + '‘;
    htmlString += ‘
  • ‘;
    });

    // Finalmente llenamos el DIV
    $(‘#imagesWrapper’).html(htmlString + «

«);
}
[/cc]

Este método es válido para cualquier resultado json de donde sea que provengam basta alterar los nombres de las variables que no siempre son link, title, etc

Ver Demo
Download

Categorías

Últimos Posts

¿Necesitas ayuda?

Si requieres ayuda para desarrollar tu sitio web, crear plugins para Wordpress o módulos personalizados para Elementor a precio razonable. Contáctame