美文网首页
键盘索引人名

键盘索引人名

作者: yztldxdzhu | 来源:发表于2017-10-16 18:22 被阅读12次

下拉框信息太多,可通过键盘索引。

var charStr = "";
var lastCharStr = "", lastIndex = 0;
var timeOff = 0;
var curUlDiv = "";
var timeOutEvent = "";


function indexUser(evt, elemId) {
    var evt = window.event?window.event:evt;
    var char = String.fromCharCode(evt.keyCode).toLowerCase();

    if(evt.keyCode==13) {
        charStr = lastCharStr;
        searchIndex(elemId);
        return;
    }

    var curTime = new Date().getTime();
    if (curTime - timeOff > 500) {
        timeOff = curTime;
        charStr = char;
        timeOutEvent = setTimeout("searchIndex('" + elemId + "')",500);
    } else {
        charStr += char;
        clearTimeout(timeOutEvent);
        timeOutEvent = setTimeout("searchIndex('" + elemId + "')",500);
    }
    //charStr = evt;
}
function searchIndex(elemId) {
    var uList = [];
    if (elemId == "projTesters_userUlDiv") {
        uList = testUserList;
    } else {
        uList = userList;
    }

    // 连续搜索一样的字符时,继续往下搜索
    var startIndex = -1;
    if (charStr == lastCharStr) {
        startIndex = lastIndex;
    }
   // 否则从头开始搜索
    var containerOffTop = $("#" + elemId).offset().top, indexOffTop = 0, moveTop = 0;
    var height = containerOffTop + $("#" + elemId).height() -30;
    for (var i = startIndex+1; i < uList.length; i++) {
        if (uList[i].showname.toLowerCase().indexOf(charStr) == 0) {
            $(".index_li").removeClass("index_li");
            // 索引到的li的offset top
            indexOffTop = $($("#" + elemId).find("li")[i]).offset().top;
            moveTop = indexOffTop - height + $("#" + elemId).scrollTop();
            $("#" + elemId).scrollTop(moveTop);
            $($("#" + elemId).find("li")[i]).addClass("index_li");

            lastCharStr = charStr;
            lastIndex = i;
            return;
        }
    }
    lastIndex = -1;
}

function clearLassIndex(self) {
    $(".index_li").removeClass("index_li");
    $(self).addClass("index_li");
    lastIndex = $(".index_li").index();
}

相关文章

网友评论

      本文标题:键盘索引人名

      本文链接:https://www.haomeiwen.com/subject/vukluxtx.html