利用jQuery實現搜索框輸入下拉文字高亮代碼



8 29 10



特效描述:利用jQuery實現 搜索框 輸入下拉 文字高亮代碼,利用jQuery實現搜索框輸入下拉文字高亮代碼

代碼結構

1. 引入JS

<script src="js/jquery-1.11.3.min.js" type="text/javascript"></script>

2. HTML代碼

<style>
    *{margin:0;paddign:0;font-family:"微軟雅黑";font-style:normal;font-size:14px;}
    .dropdown{position: relative;display:inline-block;width: 300px;padding-left:10px; }
    .dropdown-selected{width: 100%!important;height:30px;line-height:30px;border:1px solid #c6c8cc;-webkit-border-radius: 4px;-moz-border-radius: 4px;border-radius: 4px;color:#333;text-indent: 10px;margin-bottom: 0!important;}
    .dropdown ul{padding:0;width:100%;max-height:200px;overflow-y:auto ;background-color:#fff;margin-top:2px;border:1px solid #c6c8cc;position:absolute;display:none;z-index: 2;}
    .dropdown ul li{list-style: none;text-indent:10px;}
    .dropdown ul li a{display:block;color:#282c33;text-decoration:none;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;}
    .dropdown ul li:hover{background-color:#f2f6fa;}
    .dropdown ul li a:active,.dropdown ul li.active a{background-color: #e4e9f2;}
</style>
<div style="width:50%;margin:40px auto;">
    <h3 style="display:inline-block;padding-right:10px;border-right:1px solid #ddd;font-size:18px;">請輸入關鍵字</h3>
    <div class="dropdown" id="search" onClick="search.changeValue(this);search.searchKeyword()">
        <input type="text" class="dropdown-selected"
               id="search-input" placeholder="請輸入關鍵字" onKeyUp="search.searchKeyword();">
        <ul>
            <li><a href="javaScript:">前端開發工程師</a></li>
            <li><a href="javaScript:">java開發工程師</a></li>
            <li><a href="javaScript:">HTML5頁面開發</a></li>
            <li><a href="javaScript:">ios開發</a></li>
        </ul>
    </div>
</div>
<script>
    var search = {
        searchKeyword: function () {
            var nWord = $("#search-input").val();
            //var temarray = nWord.split(""); //分割
            var array=this.unique(nWord.split(""));
            var dsa = $("#search").find("ul li a");//獲取全部列表
            var linumber = 0;
            $("#search ul li").show();
            for (var t = 0; t < dsa.length; t++) {
                $(dsa[t]).html($(dsa[t]).text());
                var temstr = ($(dsa[t]).text()).split("");
                var yes = false;
                for (var i = 0; i < array.length; i++) {
                    var posarr = this.findAll(temstr, array[i]);
                    if (posarr.length > 0) {
                        yes = true;
                        for (var j = 0; j < posarr.length; j++) {
                            temstr[posarr[j]] = "<em style='color:red;'>" + temstr[posarr[j]] + "</em>";
                        }
                    }
                }
                if (!yes) {
                    $(dsa[t]).closest("li").hide();
                }
                else {
                    linumber++;
                    var htmlstr = "";
                    for (var m = 0; m < temstr.length; m++) {
                        htmlstr += temstr[m];
                    }
                    $(dsa[t]).html(htmlstr);
                }
            }
            if (linumber == 0) {
                $("#search ul li").show();
                $("#search ul").slideDown(200);
            }
        },
        findAll: function (arr, str) {
            var results = [],
                len = arr.length,
                pos = 0;
            while (pos < len) {
                pos = arr.indexOf(str, pos);
                if (pos === -1) {
                    break;
                }
                results.push(pos);
                pos++;
            }
            return results;
        },
        unique: function (arr) {
            var new_arr = [];
            for (var i = 0; i < arr.length; i++) {
                var items = arr[i];
                //判斷元素是否存在于new_arr中,如果不存在則插入到new_arr的最后
                if ($.inArray(items, new_arr) == -1) {
                    new_arr.push(items);
                }
            }
            return new_arr;
        },
        changeValue: function (obj) {
            $('.dropdown ul').slideUp(200);
            var input = $(obj).find('.dropdown-selected');
            var ul = $(obj).find('ul');
            if (!ul.is(':visible')) {
                ul.slideDown('fast');
            } else {
                ul.slideUp('fast');
            }
            $(obj).find('ul a').click(function () {
                input.val($(this).text());
                $(this).parent().addClass('active');
                $(this).parent().siblings().removeClass('active')
                $(this).closest('ul').slideUp(200);
                return false;
            })
            var e = this.getEvent();
            window.event ? e.cancelBubble = true : e.stopPropagation();
        },
        _init: function () {
            $("#search").on("click", "ul li a", function () {
                $("#search-input").val($(this).text());
                $(this).parent().addClass('active');
                $(this).parent().siblings().removeClass('active')
                $(this).closest('ul').slideUp(200);
                return false;
            })
        },
        getEvent: function(){
        if(window.event){
            return window.event;
        }
        var f = arguments.callee.caller;
        do{
            var e = f.arguments[0];
            if(e && (e.constructor === Event || e.constructor===MouseEvent || e.constructor===KeyboardEvent)){
                return e;
            }
        }while(f=f.caller);
    }
    }
    search._init();
</script>
<div style="text-align:center;margin:150px 0; font:normal 14px/24px 'MicroSoft YaHei';">
</div>



用戶評論
大牛,別默默的看了,快登錄幫我點評一下吧!:)      登錄 | 注冊


熱門標簽: 文字疊加 文字層疊 文字拖動 文字拖拽 文字提示框 提示文字 文字收縮展開 文字收縮 文字展開 文字放大縮小 文字縮放 文字大小 文字放大 文字縮小 文字變大 文字變小 文字翻轉 文字旋轉 文字淡出淡進 文字淡出 文字淡進 文字全屏 文字延遲加載 文字延遲 文字加載 360全景 360度全景 h5文字動畫 h5文字邊框動畫 html5文字動畫 html5文字邊框動畫 文字滾動 文字無縫滾動 文字間歇滾動 文字滑動 文字滑塊 文字切換 文字選項卡 圖片文字 文字導航菜單 文字導航 文字菜單 切換按鈕 表單 表單美化 表單插件 表單美化插件 文字 文字插件 文本框 text文本框 下拉框 select下拉菜單 select美化 select美化框 文字高亮 搜索框
?
×
×

注冊

官方QQ群

掃描上面二維碼加微信群

官方QQ群

jQuery/js討論群
群號:642649996
Css3+Html5討論群
群號:322131262

加群請備注:從官網了解到

老夫子电子 时时彩评测 有木有手机赚钱的软件下载 做康宝来的人赚钱很轻松吗 赚钱的直播软件哪个好用 今晚双色球预测一注 现金麻将手机版下载 赚钱的素食环保事业 全年固定杀肖公式规律 天天2棋牌下载 cf手游主播怎么赚钱 股票涨跌的原理是什么 女人要赚钱不要结婚想结婚 grand彩金谁中过 河北时时彩推荐号码查询 天津快乐10分基本走势图 长春麻将怎么玩图解