效果查看

上次看到国外那谁谁实现了Youtube的Instant搜索,据说花了三小时。

我笑了,我看了那篇文章后,自己花了三小时,实现了百度和优酷的Instant搜索体验。

难点在于,键盘输入的监听。用了JQuery自带的keyup函数,再加JS自带的setTimeout函数,较好地实现了效果。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    
<title></title>
    
<style type="text/css">
    .hidden
    
{
        display
:none;
    
}
    .show
    
{
        display
:block;
         border
:0;
    
}
    #up
    
{
        margin
:-100px 0 0 0;
        width
:1300px;
        height
:900px;
        
        
/* text-align:center;  */
    
}
    
        #getKey
        
{
            height
: 36px;
            width
: 379px;
            font-size
:large;
            
        
}
    
    
</style>
    
<script src="JS/jquery-1.4.2-vsdoc.js" type="text/javascript"></script>
    
<script type="text/javascript">
        
var baidu = 1var youku = 0;
        
var getKey; 
        
function gotothere() {
            getKey 
= $("#getKey").val();
            
if (getKey == "") {
                
//alert("sorry");
                //$("up").className = "show";
            }
            
else {
                
if (baidu == 1) {
                    $(
"#up").attr("src""http://www.baidu.com/s?wd=" + encodeURI(getKey) + "&inputT=624&ie=utf-8");
                }
                
else if (youku == 1) {
                    $(
"#up").attr("src""http://www.soku.com/search_video/q_" + getKey);
                }
            }
        }
        $(
function() {
            $(
"#getKey").keyup(function() {//监听键盘按下事件
                
                
var timer = setTimeout("gotothere()"500);//有时候键盘按得太快,监听事件来不及反应,所以用setTimeout函数来延迟
            });


        });

        $(
function() {
            $(
"#baidu").click(function() {
                baidu 
= 1; youku = 0;
                $(
"#up").attr("src""http://www.baidu.com/s?wd=" + encodeURI(getKey) + "&inputT=624&ie=utf-8");
            });
            $(
"#youku").click(function() {
                youku 
= 1; baidu = 0;
                $(
"#up").attr("src""http://www.soku.com/search_video/q_" + getKey);
            })
        })

    
</script>
</head>
<body style="overflow-y: hidden;">
请输入你想要搜索的关键字:
<input id="getKey" type="text" /><href="#" id="baidu">百度</a>&nbsp|&nbsp<href="#" id="youku">优酷</a><br />
<div style="overflow:hidden"><iframe id="up" class="show" frameborder="0" ></iframe></div>
</body>
</html>

 

作者: 草珊瑚 发表于 2011-06-29 21:02 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"