Buscador Interno
Demo
Html Full
Css
JavaScript
*{ margin:0; padding:0; } #page4{ /* El div contenedor principal */ width:620px; margin:100px auto 0; } #searchForm{ /* El formulario de búsqueda. */ background-color:#4C5A65; padding:50px 50px 30px; margin:80px 0; position:relative; -moz-border-radius:16px; -webkit-border-radius:16px; border-radius:16px; } fieldset{ border:none; } #searchInputContainer{ /* Este div contiene el cuadro de búsqueda transparente */ width:420px; height:36px; background:url("img/searchBox.png") no-repeat; float:left; margin-right:12px; } #s{ /* El cuadro de texto de búsqueda. */ border:none; color:#888888; background:url("https://img.webme.com/pic/l/lifeartz/searchbox.png") no-repeat; float:left; font-family:Arial,Helvetica,sans-serif; font-size:15px; height:36px; line-height:36px; margin-right:12px; outline:medium none; padding:0 0 0 35px; text-shadow:1px 1px 0 white; width:385px; } /* La UL que contiene los iconos de tipo de búsqueda */ .icons{ list-style:none; margin:10px 0 0 335px; height:19px; position:relative; } .icons li{ background:url("https://img.webme.com/pic/l/lifeartz/icons.png") no-repeat; float:left; height:19px; text-indent:-9999px; cursor:pointer; margin-right:5px; } /* Estilo de cada icono */ li.web{ width:15px;} li.web.active, li.web:hover{ background-position:left bottom;} li.images{ width:22px; background-position:-18px 0;} li.images.active, li.images:hover{ background-position:-18px bottom;} li.news{ width:14px; background-position:-44px 0;} li.news.active, li.news:hover{ background-position:-44px bottom;} li.videos{ width:17px; background-position:right 0;} li.videos.active, li.videos:hover{ background-position:right bottom;} span.arrow{ /* La pequeña flecha que se mueve debajo de los iconos */ width:11px; height:6px; margin:21px 0 0 5px; position:absolute; background:url('https://img.webme.com/pic/l/lifeartz/arrow.png') no-repeat; left:0; } /* El Boton submit */ #submitButton{ background:url('https://img.webme.com/pic/l/lifeartz/buscar.png') no-repeat; width:83px; height:36px; text-indent:-9999px; overflow:hidden; text-transform:uppercase; border:none; cursor:pointer; } #submitButton:hover{ background-position:left bottom; } /* Buscar tusitio.es.tl / Buscar en google botones */ #searchInContainer{ float:left; margin-top:12px; width:330px; } label{ color:#DDDDDD; cursor:pointer; font-size:11px; position:relative; right:-2px; top:-2px; margin-right:10px; white-space:nowrap; /*float:left;*/ } input[type=radio]{ cursor:pointer; /*float:left;*/ } /* Estilo de los resultados de búsqueda */ .pageContainer{ /* Tiene cada página con los resultados de búsqueda. Tiene un borde inferior inserción. */ border-bottom:1px solid #5e7481; margin-bottom:50px; /* Adición de un borde inferior con la sombra oscura caja */ -moz-box-shadow:0 1px 0 #798e9c; -webkit-box-shadow:0 1px 0 #798e9c; box-shadow:0 1px 0 #798e9c; } p.notFound{ text-align:center; padding:0 0 40px; } /* Web & Noticias resultados */ .webResult{ text-shadow:1px 1px 0 #586a75;margin-bottom:50px;} .webResult h2{ background-color:#5D6F7B; font-size:18px; font-weight:normal; padding:8px 20px; /* Aplicando CSS3 Esquinas Redondas */ -moz-border-radius:18px; -webkit-border-radius:18px; border-radius:18px; } .webResult h2 b{ color:#fff; } .webResult h2 a{ color:#eee;border:none;} .webResult p{ line-height:1.5;padding:15px 20px;} .webResult p b{ color:white;} .webResult > a{ margin-left:20px;} /* Imagenes y Videos Resultados */ .imageResult{ float:left; height:180px; margin:0 0 20px 40px; text-align:center; width:152px; overflow:hidden; } .imageResult img{ display:block;border:none;} .imageResult a.pic{ border:1px solid #fff; outline:1px solid #777; display:block; margin:0 auto 15px; } /* El Boton Mostrar Mas */ #more{ width:83px; height:24px; background:url('https://img.webme.com/pic/l/lifeartz/mas.png') no-repeat; cursor:pointer; margin:40px auto; } #more:hover{ background-position:left bottom; } /* Dando Creditos */ p.credit{ margin:20px 0; text-align:center; } p.credit a{ background-color:#4B5A64; border:1px solid; border-color:#3D4D57 #788E9B #788E9B #3D4D57; color:#c0d0d8; font-size:10px; padding:4px 8px; text-shadow:1px 1px 0 #38464F; } p.credit a:hover{ background-color:#38464f; border-color:#38464f #788E9B #788E9B #38464f; } a, a:visited { text-decoration:none; outline:none; border-bottom:1px dotted #97cae6; color:#97cae6; } a:hover{ border-bottom:1px dashed transparent; } .clear{ clear:both; }
$(document).ready(function(){
var config = {
siteURL : 'lifeartz.es.tl', // Cambie esto a su sitio
searchSite : true,
type : 'web',
append : false,
perPage : 8, // Un máximo de 8 está permitido por Google
page : 0 // La página de inicio
}
// La pequeña flecha que marca el icono de búsqueda activa:
var arrow = $('',{className:'arrow'}).appendTo('ul.icons');
$('ul.icons li').click(function(){
var el = $(this);
if(el.hasClass('active')){
// El icono de la salida ya está activo
return false;
}
el.siblings().removeClass('active');
el.addClass('active');
// Mueva la flecha debajo de este icono
arrow.stop().animate({
left : el.position().left,
marginLeft : (el.width()/2)-4
});
// Establecer el tipo de búsqueda
config.type = el.attr('data-searchType');
$('#more').fadeOut();
});
// Agregando el dominio del sitio como una etiqueta para el primer botón de opción:
$('#siteNameLabel').append(' '+config.siteURL);
// Marcando el radio de búsqueda tusitio.es.tl como activo:
$('#searchSite').click();
// Marca el icono de búsqueda en la web como activo:
$('li.web').click();
// Enfoque de la caja de entrada de texto:
$('#s').focus();
$('#searchForm').submit(function(){
googleSearch();
return false;
});
$('#searchSite,#searchWeb').change(function(){
// Escuchar un clic en uno de los botones de radio.
// config.searchSite es verdadero o falso.
config.searchSite = this.id == 'searchSite';
});
function googleSearch(settings){
// Si no se proporcionan parámetros de la función,
// Que toma los valores predeterminados del objeto de configuración por encima de:
settings = $.extend({},config,settings);
settings.term = settings.term || $('#s').val();
if(settings.searchSite){
// Utilizando el sitio de Google: example.com para limitar la búsqueda a una
// dominio específico:
settings.term = 'site:'+settings.siteURL+' '+settings.term;
}
// URL De Google's AJAX Buscador API
var apiURL = 'http://ajax.googleapis.com/ajax/services/search/'+settings.type+'?v=1.0&callback=?';
var resultsDiv = $('#resultsDiv');
$.getJSON(apiURL,{q:settings.term,rsz:settings.perPage,start:settings.page*settings.perPage},function(r){
var results = r.responseData.results;
$('#more').remove();
if(results.length){
// Si los resultados se devolvieron, añadirlos a un div pageContainer,
// después de que los añada a la #resultsDiv:
var pageContainer = $('',{className:'pageContainer'});
for(var i=0;i ')
.hide().appendTo(resultsDiv)
.fadeIn('slow');
var cursor = r.responseData.cursor;
// Comprobar si hay más páginas con resultados,
// y decidir si debe mostrar en el botón Más:
if( +cursor.estimatedResultCount > (settings.page+1)*settings.perPage){
$('',{id:'more'}).appendTo(resultsDiv).click(function(){
googleSearch({append:true,page:settings.page+1});
$(this).fadeOut();
});
}
}
else {
// No se encontraron resultados para esta búsqueda.
resultsDiv.empty();
$('',{className:'notFound',html:'No Results Were Found!'}).hide().appendTo(resultsDiv).fadeIn();
}
});
}
function result(r){
// Esta es la definición de clase. Objeto de esta clase se crean para
// cada resultado. El margen de beneficio es generado por el .toString() method.
var arr = [];
// GsearchResultClass es pasada por google API
switch(r.GsearchResultClass){
case 'GwebSearch':
arr = [
'
'
];
break;
case 'GimageSearch':
arr = [
'',
'',
'',
'','',r.visibleUrl,'',
''
];
break;
case 'GvideoSearch':
arr = [
'',
'',
'',
'','',r.publisher,'',
''
];
break;
case 'GnewsSearch':
arr = [
''
];
break;
}
// El toString method.
this.toString = function(){
return arr.join('');
}
}
});
Descargar Script