js 简单的搜索历史记录

7 篇文章 0 订阅
3 篇文章 0 订阅
最近做了个简单的搜索历史记录功能,利用了js的cookie。废话不多说,代码如下:
<script type="text/javascript">
    var suggestObj = {};
    suggestObj.tips = {
        tips01: ''
    };
    suggestObj.searchData = [];

    suggestObj.events = {
        closedAd: function () {
            document.querySelectorAll("#closedAdId")[0].addEventListener("touchend", function () {
                $(".ads").hide();
            });
        },
//      输入内容请求ajax并在页面显示
        keydownText: function () {
            document.getElementById("searchInput").addEventListener('input', function () {
                var inputVal = $("#searchInput").val();
                var carList = $(".searchCarList");
                var carListLi = '';
                var url = "/suggestmapps.php?";
                $.ajax({
                    type: "GET",
                    url: url,
                    dataType: "jsonp",
                    data: {q: inputVal},
                    async: true,
                    jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
                    jsonpCallback: "getSuggestInfo",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
                    success: function (data) {
                        if (data.code == 1) {
                            for (var i = 0; i < data.info.length; i++) {
                                carListLi += '<li><a href="' + data.info[i].url + '" οnclick="suggestObj.events.saveSearchInfo(this)"><span>车系页>></span><em>' + data.info[i].name + '</em></a></li>';

                            }
                            carList.html(carListLi);
                            $("#historyRecord h1").hide();
                            $("#historyRecord .clear").hide();
                        }
                    },
                    error: function () {
                    }
                });
            });
        },
        saveSearchInfo: function (t) {
            var val = $(t).children("em").html();
            val = val + ':::' + t.href;
            var valIndex = suggestObj.searchData.indexOf(val);

            if (valIndex == -1) {
                suggestObj.searchData.unshift(val);
            } else {
                suggestObj.searchData.splice(valIndex, 1);
                suggestObj.searchData.unshift(val);
            }

            if (suggestObj.searchData.length > 20) {
                suggestObj.searchData.length = 20;
            }

            var suggestName_Url = suggestObj.searchData.join('@@@');

            var suggestNameInfo = $.cookie('suggestNameUrl');
            if (suggestNameInfo) {
                suggestName_Url += '@@@' + suggestNameInfo;
            }

            var eday = new Date();
            eday.setTime(eday.getTime() + (3600 * 24 * 3600000));
            $.cookie('suggestNameUrl', suggestName_Url, {
                path: '/',
                domain: 'xxx.com',
                expires: eday
            });
        },
        getInputFocus: function () {
            var currentCookie = $.cookie('suggestNameUrl');
            var historyHtml = $(".searchCarList");
            var historyHtmlLi = "";
            alert(currentCookie);
            if ( currentCookie != null && typeof currentCookie != undefined) {
                var strSplit = currentCookie.split("@@@"); //字符分割
                for (var i = 0; i < strSplit.length; i++) {
                    if(i>5) break;
                    var historyHtmlObg = strSplit[i].split(":::");
                    historyHtmlLi += '<li><a href="' + historyHtmlObg[1] + '"><span>车系页>></span><em>' + historyHtmlObg[0] + '</em></a></li>';
                }
                historyHtml.html(historyHtmlLi);
                $("#historyRecord h1").show();
                $("#historyRecord .clear").css("display", "block");
            }
        },
        delCookie: function () {
            var date=new Date();
            date.setTime(date.getTime()-10000);
            $.cookie('suggestNameUrl','',{path: '/', domain: 'xxx.com', expires:date});
        },
        onClickBtn: function () {
            document.querySelectorAll(".clear")[0].addEventListener("click", function () {
                $("#historyRecord").hide();
                suggestObj.events.delCookie();
            })
        }
    };

    //调用
    suggestObj.events.closedAd();
    suggestObj.events.keydownText();
    suggestObj.events.onClickBtn();
</script>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值