当前位置:编程学习 > JAVA >>

百度和优酷的搜索体验改善,类似Google Instant搜索

上次看到国外那谁谁实现了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 = 1; var 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" /><a href="#" id="baidu">百度</a> | <a href="#" id="youku">优酷</a><br />
<div style="overflow:hidden"><iframe id="up" class="show" frameborder="0" ></iframe></div>
</body>
</html>

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,