jquery站内搜索功能js代码

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

以下是 jquery站内搜索功能js代码 的示例演示效果:

当前平台(PC电脑)
  • 平台:

部分效果截图:

jquery站内搜索功能js代码

HTML代码(index.html):

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jquery站内搜索功能</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<div id="page">
    <h1>Google Powered Site Search</h1>
    <form id="searchForm" method="post">
		<fieldset>
        
           	<input id="s" type="text" />
            
            <input type="submit" value="Submit" id="submitButton" />
            
            <div id="searchInContainer">
                <input type="radio" name="check" value="site" id="searchSite" checked />
                <label for="searchSite" id="siteNameLabel">Search</label>
                
                <input type="radio" name="check" value="web" id="searchWeb" />
                <label for="searchWeb">谷歌搜索</label>
			</div>
                        
            <ul class="icons">
                <li class="web" title="Web Search" data-searchType="web">Web</li>
                <li class="images" title="Image Search" data-searchType="images">Images</li>
                <li class="news" title="News Search" data-searchType="news">News</li>
                <li class="videos" title="Video Search" data-searchType="video">Videos</li>
            </ul>
            
        </fieldset>
    </form>
    <div id="resultsDiv"></div>
</div>
<script src="js/jquery.min.js"></script>
<script src="js/script.js"></script>
</body>
</html>

JS代码(script.js):

$(document).ready(function(){
	var config ={
	siteURL:'sc.chinaz.com',// Change this to your sitesearchSite:true,type:'web',append:false,perPage:8,// A maximum of 8 is allowed by Googlepage:0// The start page}
// The small arrow that marks the active search icon:var arrow = $('<span>',{
	className:'arrow'}
).appendTo('ul.icons');
	$('ul.icons li').click(function(){
	var el = $(this);
	if(el.hasClass('active')){
	// The icon is already active,exitreturn false;
}
el.siblings().removeClass('active');
	el.addClass('active');
	// Move the arrow below this iconarrow.stop().animate({
	left:el.position().left,marginLeft:(el.width()/2)-4}
);
	// Set the search typeconfig.type = el.attr('data-searchType');
	$('#more').fadeOut();
}
);
	// Adding the site domain as a label for the first radio button:$('#siteNameLabel').append(' '+config.siteURL);
	// Marking the Search tutorialzine.com radio as active:$('#searchSite').click();
	// Marking the web search icon as active:$('li.web').click();
	// Focusing the input text box:$('#s').focus();
	$('#searchForm').submit(function(){
	googleSearch();
	return false;
}
);
	$('#searchSite,#searchWeb').change(function(){
	// Listening for a click on one of the radio buttons.// config.searchSite is either true or false.config.searchSite = this.id == 'searchSite';
}
);
	function googleSearch(settings){
	// If no parameters are supplied to the function,// it takes its defaults from the config object above:settings = $.extend({
}
,config,settings);
	settings.term = settings.term || $('#s').val();
	if(settings.searchSite){
	// Using the Google site:example.com to limit the search to a// specific domain:settings.term = 'site:'+settings.siteURL+' '+settings.term;
}
// URL of Google's AJAX search APIvar 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){
	// If results were returned,add them to a pageContainer div,// after which append them to the #resultsDiv:var pageContainer = $('<div>',{
	className:'pageContainer'}
);
	for(var i=0;
	i<results.length;
	i++){
	// Creating a new result object and firing its toString method:pageContainer.append(new result(results[i]) + '');
}
if(!settings.append){
	// This is executed when running a new search,// instead of clicking on the More button:resultsDiv.empty();
}
pageContainer.append('<div class="clear"></div>') .hide().appendTo(resultsDiv) .fadeIn('slow');
	var cursor = r.responseData.cursor;
	// Checking if there are more pages with results,// and deciding whether to show the More button:if( +cursor.estimatedResultCount > (settings.page+1)*settings.perPage){
	$('<div>',{
	id:'more'}
).appendTo(resultsDiv).click(function(){
	googleSearch({
	append:true,page:settings.page+1}
);
	$(this).fadeOut();
}
);
}
}
else{
	// No results were found for this search.resultsDiv.empty();
	$('<p>',{
	className:'notFound',html:'No Results Were Found!'}
).hide().appendTo(resultsDiv).fadeIn();
}
}
);
}
function result(r){
	// This is class definition. Object of this class are created for// each result. The markup is generated by the .toString() method.var arr = [];
	// GsearchResultClass is passed by the google APIswitch(r.GsearchResultClass){
	case 'GwebSearch':arr = ['<div class="webResult">','<h2><a href="',r.unescapedUrl,'" target="_blank">',r.title,'</a></h2>','<p>',r.content,'</p>','<a href="',r.unescapedUrl,'" target="_blank">',r.visibleUrl,'</a>','</div>'];
	break;
	case 'GimageSearch':arr = ['<div class="imageResult">','<a target="_blank" href="',r.unescapedUrl,'" title="',r.titleNoFormatting,'" class="pic" style="width:',r.tbWidth,'px;
	height:',r.tbHeight,'px;
	">','<img src="',r.tbUrl,'" width="',r.tbWidth,'" height="',r.tbHeight,'" /></a>','<div class="clear"></div>','<a href="',r.originalContextUrl,'" target="_blank">',r.visibleUrl,'</a>','</div>'];
	break;
	case 'GvideoSearch':arr = ['<div class="imageResult">','<a target="_blank" href="',r.url,'" title="',r.titleNoFormatting,'" class="pic" style="width:150px;
	height:auto;
	">','<img src="',r.tbUrl,'" width="100%" /></a>','<div class="clear"></div>','<a href="',r.originalContextUrl,'" target="_blank">',r.publisher,'</a>','</div>'];
	break;
	case 'GnewsSearch':arr = ['<div class="webResult">','<h2><a href="',r.unescapedUrl,'" target="_blank">',r.title,'</a></h2>','<p>',r.content,'</p>','<a href="',r.unescapedUrl,'" target="_blank">',r.publisher,'</a>','</div>'];
	break;
}
// The toString method.this.toString = function(){
	return arr.join('');
}
}
}
);
	

CSS代码(styles.css):

*{margin:0;padding:0;}
body{font-size:13px;color:#eee;font-family:Arial,Helvetica,sans-serif;background:url('img/bg.jpg') repeat-x #718693;}
#page{/* The main container div */
width:620px;margin:100px auto 0;}
h1{font-family:Corbel,'Myriad Pro',Arial,Helvetica,sans-serif;background:url('img/heading.png') no-repeat center top;text-indent:-9999px;overflow:hidden;height:90px;}
#searchForm{/* The search form. */
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{/* This div contains the transparent search box */
width:420px;height:36px;background:url("img/searchBox.png") no-repeat;float:left;margin-right:12px;}
#s{/* The search text box. */
border:none;color:#888888;background:url("img/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;}
/* The UL that contains the search type icons */
.icons{list-style:none;margin:10px 0 0 335px;height:19px;position:relative;}
.icons li{background:url("img/icons.png") no-repeat;float:left;height:19px;text-indent:-9999px;cursor:pointer;margin-right:5px;}
/* Styling each icon */
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{/* The little arrow that moves below the icons */
width:11px;height:6px;margin:21px 0 0 5px;position:absolute;background:url('img/arrow.png') no-repeat;left:0;}
/* The submit button */
#submitButton{background:url('img/buttons.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;}
/* The Search tutorialzine.com / Search the Web radio buttons */
#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;*/
}
/* Styling the search results */
.pageContainer{/* Holds each page with search results. Has an inset bottom border. */
border-bottom:1px solid #5e7481;margin-bottom:50px;/* Adding a dark bottom border with box shadow */
-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 & news results */
.webResult{text-shadow:1px 1px 0 #586a75;margin-bottom:50px;}
.webResult h2{background-color:#5D6F7B;font-size:18px;font-weight:normal;padding:8px 20px;/* Applying CSS3 rounded corners */
-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;}
/* Image & video search results */
.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;}
/* The show more button */
#more{width:83px;height:24px;background:url('img/more.png') no-repeat;cursor:pointer;margin:40px auto;}
#more:hover{background-position:left bottom;}
/* Giving Credit */
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;}
附件:下载该文件资源,减少时间成本(增值服务)
留言
该资源可下载
File Source
.rar
48.39 KB
jquery特效6
最新结算
HTM5 Canvas实现3D飞机飞行动画特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
HTM5 Canvas实现3D飞机飞行动画特效代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery图像缩放工具插件Zoomer特效代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery图像缩放工具插件Zoomer特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
Labelauty–jQuery单选框_复选框美化插件特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
Labelauty–jQuery单选框_复选框美化插件特效代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery网页版打砖块小游戏源码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery网页版打砖块小游戏源码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章