iotcat 4 years ago
parent 7c3f9e6ee1
commit c00eb73eb8
  1. 251
      css/index.css
  2. 50
      css/jquery.css
  3. 357
      css/layer.css
  4. 65
      index.html
  5. 124
      js/autocomplete.js
  6. 60
      js/data.js
  7. 61
      js/index.js
  8. 808
      js/jquery.autocomplete.js
  9. 4
      js/jquery.min.js
  10. 2
      js/layer.js
  11. 2
      s/index.php

@ -0,0 +1,251 @@
html,body{
width: 100%;
font-family: "微软雅黑";
font-size: 1em;
background: #1f2126;
color: #c2b483;
margin: 0;
padding: 0;
}
img{
width: 100%;
margin: 0;
padding: 0;
}
/*index.html*/
.main_div{
width: 100%;
}
.top_div{
width: 100%;
background: #050c1e;
border-top: 1px solid #050C1E;
border-bottom: 1px solid #050C1E;
border-image: url(../img/line.png) 1 1 1 1;
overflow: hidden;
}
.logo{
width: 40%;
margin: 10px auto;
}
.top_text{
font-size: 1.2em;
text-align: center;
font-weight: 400;
margin-bottom: 15px;
}
.bottom_div{
width: 100%;
}
.bottom_text{
text-align: center;
font-size: 1em;
margin-top: 15px;
}
.park_action{
width: 100%;
margin-top: 30px;
overflow: hidden;
}
.add_park{
width: 42.5%;
margin-left: 5%;
line-height: 40px;
font-size: 1.3em;
color: #C2B483;
text-align: center;
float: left;
border: 1px solid #C2B483;
border-radius: 5px;
}
.del_park{
width: 42.5%;
margin-right: 5%;
line-height: 40px;
font-size: 1.3em;
color: #C2B483;
text-align: center;
float: right;
border: 1px solid #C2B483;
border-radius: 5px;
}
.car_list{
width: 100%;
overflow: hidden;
}
.car_name:nth-child(odd){
width: 42.5%;
margin-left: 5%;
margin-top: 20px;
line-height: 40px;
font-size: 1.3em;
text-align: center;
float: left;
border: 1px solid #C2B483;
border-radius: 5px;
}
.car_name:nth-child(even){
width: 42.5%;
margin-right: 5%;
margin-top: 20px;
line-height: 40px;
font-size: 1.3em;
text-align: center;
float: right;
border: 1px solid #C2B483;
border-radius: 5px;
}
.park_record{
width: 90%;
margin: 20px auto;
background: #C2B483;
font-size: 1.2em;
text-align: center;
line-height: 40px;
color: #1F2126;
border-radius: 5px;
}
/*add_park.html*/
.car_input{
width: 90%;
margin: 0 auto;
margin-top: 30px;
background: #050C1E;
border: 1px solid #C2B483;
border-radius: 5px;
}
.car_input input{
width: 100%;
line-height: 40px;
border: none;
border-radius: 5px;
text-align: center;
font-size: 1.2em;
color: #C2B483;
background: #050C1E;
-webkit-appearance: none;
}
.next_step{
width: 90%;
margin: 40px auto;
background: #C2B483;
font-size: 1.2em;
text-align: center;
line-height: 40px;
color: #1F2126;
border-radius: 5px;
}
#word{
background: #1F2126;
}
option{
background: #1F2126;
}
/*del_park.html*/
.del_text{
text-align: center;
font-size: 1em;
margin-top: 15px;
margin-bottom: 30px;
}
/*pay_park.html*/
.pay_main_div{
width: 100%;
}
.top_car_name{
width: 95%;
background: #050C1E;
line-height: 60px;
padding-left: 5%;
}
.pay_car_name{
font-size: 1.1em;
}
.count_pay,.discount,.select_time{
width:100%;
line-height: 30px;
background: #1f2126;
}
.need_pay,.park_time{
width:100%;
line-height: 30px;
background: #050C1E;
}
.info_title{
width: 40%;
line-height: 35px;
padding-left: 5%;
float: left;
}
.info_text{
width: 50%;
line-height: 35px;
padding-right: 5%;
text-align: right;
float: right;
}
.pay_submit{
width: 90%;
margin: 80px auto;
line-height: 40px;
text-align: center;
background: #C2B483;
color: #1F2126;
border: 1px solid #C2B483;
border-radius: 5px;
}
/*park_record.html*/
.record_list{
width: 100%;
margin-top: 20px;
}
.record_info{
width: 94%;
margin: 0 auto;
border: 1px solid #C2B483;
border-radius: 5px;
overflow: hidden;
}
.record_title{
width: 100%;
background: #C2B483;
color: #1F2126;
line-height: 40px;
overflow: hidden;
}
.record_car_name{
width: 45%;
margin-left: 5%;
float: left;
}
.record_date{
width: 45%;
text-align: right;
float: left;
}
.record_detail{
width: 100%;
}
.detail_li{
width: 95%;
padding-left: 5%;
line-height: 30px;
}
.last_pay{
font-weight: bold;
}
.pay_record_action{
width: 100%;
margin-top: 30px;
}
.before_page,.next_page{
width: 42.5%;
float: left;
text-align: center;
line-height: 40px;
background: #C2B483;
color: #1F2126;
margin-left: 5%;
border-radius: 5px;
}

@ -0,0 +1,50 @@
.ac_results {
width: 80%;
padding: 0px;
border: 1px solid #c2b483;
background-color: #1F2126;
overflow: hidden;
z-index: 99999;
}
.ac_results ul {
width: 100%;
list-style-position: outside;
list-style: none;
padding: 0;
margin: 0;
}
.ac_results li
{
margin: 0px;
padding: 5px 8px;
cursor: default;
display: block;
/*
if width will be 100% horizontal scrollbar will apear
when scroll mode will be used
*/
/*width: 100%;*/
font: menu;
font-size: 1em;
/*
it is very important, if line-height not setted or setted
in relative units scroll will be broken in firefox
*/
line-height: 25px;
overflow: hidden;
}
.ac_loading {
background: white url('indicator.gif') right center no-repeat;
}
.ac_odd {
background-color: #1F2126;
}
.ac_over {
background-color: #050C1E;
color: #c2b483;
}

@ -0,0 +1,357 @@
.layui-m-layer {
position: relative;
z-index: 19891014
}
.layui-m-layer * {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box
}
.layui-m-layermain,
.layui-m-layershade {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%
}
.layui-m-layershade {
background-color: rgba(0, 0, 0, .7);
pointer-events: auto
}
.layui-m-layermain {
display: table;
font-family: "microsoft yahei", Helvetica, arial, sans-serif;
pointer-events: none
}
.layui-m-layermain .layui-m-layersection {
display: table-cell;
vertical-align: middle;
text-align: center
}
.layui-m-layerchild {
position: relative;
display: inline-block;
text-align: left;
background-color: #fff;
font-size: 14px;
border-radius: 5px;
box-shadow: 0 0 8px rgba(0, 0, 0, .1);
pointer-events: auto;
-webkit-overflow-scrolling: touch;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
-webkit-animation-duration: .2s;
animation-duration: .2s
}
@-webkit-keyframes layui-m-anim-scale {
0% {
opacity: 0;
-webkit-transform: scale(.5);
transform: scale(.5)
}
100% {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1)
}
}
@keyframes layui-m-anim-scale {
0% {
opacity: 0;
-webkit-transform: scale(.5);
transform: scale(.5)
}
100% {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1)
}
}
.layui-m-anim-scale {
animation-name: layui-m-anim-scale;
-webkit-animation-name: layui-m-anim-scale
}
@-webkit-keyframes layui-m-anim-up {
0% {
opacity: 0;
-webkit-transform: translateY(800px);
transform: translateY(800px)
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0)
}
}
@keyframes layui-m-anim-up {
0% {
opacity: 0;
-webkit-transform: translateY(800px);
transform: translateY(800px)
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0)
}
}
.layui-m-anim-up {
-webkit-animation-name: layui-m-anim-up;
animation-name: layui-m-anim-up
}
.layui-m-layer0 .layui-m-layerchild {
width: 90%;
max-width: 640px
}
.layui-m-layer1 .layui-m-layerchild {
border: none;
border-radius: 0
}
.layui-m-layer2 .layui-m-layerchild {
width: auto;
max-width: 260px;
min-width: 40px;
border: none;
background: 0 0;
box-shadow: none;
color: #fff
}
.layui-m-layerchild h3 {
padding: 0 10px;
height: 60px;
line-height: 60px;
font-size: 16px;
font-weight: 400;
border-radius: 5px 5px 0 0;
text-align: center
}
.layui-m-layerbtn span,
.layui-m-layerchild h3 {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap
}
.layui-m-layercont {
padding: 50px 30px;
line-height: 22px;
text-align: center
}
.layui-m-layer1 .layui-m-layercont {
padding: 0;
text-align: left
}
.layui-m-layer2 .layui-m-layercont {
text-align: center;
padding: 0;
line-height: 0
}
.layui-m-layer2 .layui-m-layercont i {
width: 25px;
height: 25px;
margin-left: 8px;
display: inline-block;
background-color: #fff;
border-radius: 100%;
-webkit-animation: layui-m-anim-loading 1.4s infinite ease-in-out;
animation: layui-m-anim-loading 1.4s infinite ease-in-out;
-webkit-animation-fill-mode: both;
animation-fill-mode: both
}
.layui-m-layerbtn,
.layui-m-layerbtn span {
position: relative;
text-align: center;
border-radius: 0 0 5px 5px
}
.layui-m-layer2 .layui-m-layercont p {
margin-top: 20px
}
@-webkit-keyframes layui-m-anim-loading {
0%,
100%,
80% {
transform: scale(0);
-webkit-transform: scale(0)
}
40% {
transform: scale(1);
-webkit-transform: scale(1)
}
}
@keyframes layui-m-anim-loading {
0%,
100%,
80% {
transform: scale(0);
-webkit-transform: scale(0)
}
40% {
transform: scale(1);
-webkit-transform: scale(1)
}
}
.layui-m-layer2 .layui-m-layercont i:first-child {
margin-left: 0;
-webkit-animation-delay: -.32s;
animation-delay: -.32s
}
.layui-m-layer2 .layui-m-layercont i.layui-m-layerload {
-webkit-animation-delay: -.16s;
animation-delay: -.16s
}
.layui-m-layer2 .layui-m-layercont>div {
line-height: 22px;
padding-top: 7px;
margin-bottom: 20px;
font-size: 14px
}
.layui-m-layerbtn {
display: box;
display: -moz-box;
display: -webkit-box;
width: 100%;
height: 50px;
line-height: 50px;
font-size: 0;
border-top: 1px solid #D0D0D0;
background-color: #F2F2F2
}
.layui-m-layerbtn span {
display: block;
-moz-box-flex: 1;
box-flex: 1;
-webkit-box-flex: 1;
font-size: 14px;
cursor: pointer
}
.layui-m-layerbtn span[yes] {
color: #fd482c
}
.layui-m-layerbtn span[no] {
border-right: 1px solid #1F2126;
border-radius: 0 0 0 5px
}
.layui-m-layerbtn span:active {
background-color: #F6F6F6
}
.layui-m-layerend {
position: absolute;
right: 7px;
top: 10px;
width: 30px;
height: 30px;
border: 0;
font-weight: 400;
background: 0 0;
cursor: pointer;
-webkit-appearance: none;
font-size: 30px
}
.layui-m-layerend::after,
.layui-m-layerend::before {
position: absolute;
left: 5px;
top: 15px;
content: '';
width: 18px;
height: 1px;
background-color: #999;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
border-radius: 3px
}
.layui-m-layerend::after {
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg)
}
body .layui-m-layer .layui-m-layer-footer {
position: fixed;
width: 95%;
max-width: 100%;
margin: 0 auto;
left: 0;
right: 0;
bottom: 10px;
background: 0 0
}
.layui-m-layer-footer .layui-m-layercont {
font-size: 1.1em;
padding: 15px;
border-radius: 5px 5px 0 0;
background-color: #c2b483;
color: #1F2126;
}
.layui-m-layer-footer .layui-m-layerbtn {
display: block;
height: auto;
background: 0 0;
border-top: none
}
.layui-m-layer-footer .layui-m-layerbtn span {
background-color: #1F2126
}
.layui-m-layer-footer .layui-m-layerbtn span[no] {
color: #40AFFE;
border-top: 1px solid #1F2126;
border-radius: 0 0 5px 5px
}
.layui-m-layer-footer .layui-m-layerbtn span[yes] {
margin-top: 10px;
border-radius: 5px
}
body .layui-m-layer .layui-m-layer-msg {
width: auto;
max-width: 90%;
margin: 0 auto;
bottom: -150px;
background-color: rgba(0, 0, 0, .7);
color: #c2b483
}
.layui-m-layer-msg .layui-m-layercont {
padding: 10px 20px
}

@ -0,0 +1,65 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ushio短链生成器</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link rel="stylesheet" type="text/css" href="css/index.css"/>
<link rel="stylesheet" type="text/css" href="css/layer.css"/>
<link rel="stylesheet" type="text/css" href="css/jquery.css"/>
<script type="text/javascript">block_aplayer = true;</script>
<script src="https://cdn.yimian.xyz/ushio-js/ushio-head.min.js"></script>
</head>
<body>
<div class="main_div">
<br><br><br><br><br><br><br><br>
<div class="bottom_div">
<div class="bottom_text">
请输入需要缩短的链接:
</div>
<div class="car_input">
<input type="text" name="url" id="url" placeholder="输入链接" />
</div>
<div class="next_step">
生成
</div>
<div class="car_input">
<input type="text" id="res"/>
</div>
</div>
</div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
function getURL(url, fun) {
var strReg = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
var re = new RegExp(strReg);
if(!re.test(url)) {
fun(false);
} else {
fun(true);
}
}
$('#res').hide();
$('.next_step').click(function(){
getURL($('#url').val(), function(flag){
if(flag){
alert('good');
}else{
alert('请输入有效的链接!!')
}
})
})
</script>
<script src="https://cdn.yimian.xyz/ushio-js/ushio-footer.min.js"></script>
</body>
</html>

@ -0,0 +1,124 @@

$(function () {
//2毫秒之后显示支付宝服务窗标题
// var AlipayJSBridgeIntervalValue = setTimeout(function () {
// if (typeof (AlipayJSBridge) != 'undefined') {
// clearTimeout(AlipayJSBridgeIntervalValue);
// AlipayJSBridge.call("showTitlebar");
// AlipayJSBridge.call("setTitle", {
// title: document.title
// });
// }
// }, 100);
//自动填充车牌数组
$('#car_name').autocomplete(data,
{
max: 10, //列表里的条目数
minChars: 1, //自动完成激活之前填入的最小字符
width: 120, //提示的宽度,溢出隐藏
scrollHeight: 180, //提示的高度,溢出显示滚动条
matchCase: false, //比较是否开启大小写敏感开关
matchContains: true, //包含匹配,就是data参数里的数据,是否只要包含文本框里的数据就显示
autoFill: false, //自动填充 //匹配的项所要发生的事件
formatItem: function (row, i, max)
{
//row表示每一行的数据对象,i表示每一行的编号 max表示总的数据行数
return row.value + "[" + row.name + "]";
}
}).result(function (event, row, formatted) {
$('#car_name').val(row.value);
});
//车牌栏位有输入时触发的事件
$("#car_name").keydown(function () {
if (event.keyCode >= 65 && event.keyCode <= 90) {
var txt = "";
switch (event.keyCode) {
case 65:
txt = "A";
break;
case 66:
txt = "B";
break;
case 67:
txt = "C";
break;
case 68:
txt = "D";
break;
case 69:
txt = "E";
break;
case 70:
txt = "F";
break;
case 71:
txt = "G";
break;
case 72:
txt = "H";
break;
case 73:
txt = "I";
break;
case 74:
txt = "J";
break;
case 75:
txt = "K";
break;
case 76:
txt = "L";
break;
case 77:
txt = "M";
break;
case 78:
txt = "N";
break;
case 79:
txt = "O";
break;
case 80:
txt = "P";
break;
case 81:
txt = "Q";
break;
case 82:
txt = "R";
break;
case 83:
txt = "S";
break;
case 84:
txt = "T";
break;
case 85:
txt = "U";
break;
case 86:
txt = "V";
break;
case 87:
txt = "W";
break;
case 88:
txt = "X";
break;
case 89:
txt = "Y";
break;
case 90:
txt = "Z";
break;
}
$('#car_name').val($('#car_name').val() + txt);
window.event.keyCode = 0;
event.returnValue = false;
}
});
});

@ -0,0 +1,60 @@
var data=[{name:"JA",value:"京A"},{name:"JB",value:"京B"},{name:"JC",value:"京C"},{name:"JE",value:"京E"},{name:"JF",value:"京F"},{name:"JH",value:"京H"},{name:"JJ",value:"京J"},
{name:"JK",value:"京K"},{name:"JL",value:"京L"},{name:"JM",value:"京M"},{name:"JN",value:"京N"},{name:"JP",value:"京P"},{name:"JG",value:"京G"},{name:"JY",value:"京Y"},
{name:"JP",value:"京P"},{name:"JO",value:"京O"},{name:"JD",value:"京D"},{name:"JA",value:"津A"},{name:"JB",value:"津B"},{name:"JC",value:"津C"},{name:"JD",value:"津D"},
{name:"JE",value:"津E"},{name:"JF",value:"津F"},{name:"JG",value:"津G"},{name:"JH",value:"津H"},{name:"JJ",value:"津J"},{name:"JK",value:"津K"},{name:"JL",value:"津L"},
{name:"JM",value:"津M"},{name:"JN",value:"津N"},{name:"JP",value:"津P"},{name:"JQ",value:"津Q"},{name:"HA",value:"沪A"},{name:"HB",value:"沪B"},{name:"HD",value:"沪D"},
{name:"HE",value:"沪E"},{name:"HF",value:"沪F"},{name:"HG",value:"沪G"},{name:"HH",value:"沪H"},{name:"HJ",value:"沪J"},{name:"HK",value:"沪K"},{name:"HL",value:"沪L"},
{name:"HM",value:"沪M"},{name:"HN",value:"沪N"},{name:"HC",value:"沪C"},{name:"HAX",value:"沪AX"},{name:"HBX",value:"沪BX"},{name:"HDX",value:"沪DX"},{name:"YA",value:"渝A"},
{name:"YB",value:"渝B"},{name:"YC",value:"渝C"},{name:"YF",value:"渝F"},{name:"YG",value:"渝G"},{name:"YH",value:"渝H"},{name:"JA",value:"冀A"},{name:"JB",value:"冀B"},
{name:"JC",value:"冀C"},{name:"JD",value:"冀D"},{name:"JE",value:"冀E"},{name:"JF",value:"冀F"},{name:"JG",value:"冀G"},{name:"JH",value:"冀H"},{name:"JJ",value:"冀J"},
{name:"JR",value:"冀R"},{name:"JT",value:"冀T"},{name:"YA",value:"豫A"},{name:"YB",value:"豫B"},{name:"YC",value:"豫C"},{name:"YD",value:"豫D"},{name:"YE",value:"豫E"},
{name:"YF",value:"豫F"},{name:"YG",value:"豫G"},{name:"YH",value:"豫H"},{name:"YJ",value:"豫J"},{name:"YK",value:"豫K"},{name:"YL",value:"豫L"},{name:"YM",value:"豫M"},
{name:"YN",value:"豫N"},{name:"YP",value:"豫P"},{name:"YQ",value:"豫Q"},{name:"YR",value:"豫R"},{name:"YS",value:"豫S"},{name:"YU",value:"豫U"},{name:"YA",value:"云A"},
{name:"YC",value:"云C"},{name:"YD",value:"云D"},{name:"YE",value:"云E"},{name:"YF",value:"云F"},{name:"YG",value:"云G"},{name:"YH",value:"云H"},{name:"YJ",value:"云J"},
{name:"YL",value:"云L"},{name:"YK",value:"云K"},{name:"YM",value:"云M"},{name:"YN",value:"云N"},{name:"YP",value:"云P"},{name:"YQ",value:"云Q"},{name:"YR",value:"云R"},
{name:"YS",value:"云S"},{name:"LA",value:"辽A"},{name:"LB",value:"辽B"},{name:"LC",value:"辽C"},{name:"LD",value:"辽D"},{name:"LE",value:"辽E"},{name:"LF",value:"辽F"},
{name:"LG",value:"辽G"},{name:"LH",value:"辽H"},{name:"LJ",value:"辽J"},{name:"LK",value:"辽K"},{name:"LL",value:"辽L"},{name:"LM",value:"辽M"},{name:"LN",value:"辽N"},
{name:"LP",value:"辽P"},{name:"LO",value:"辽O"},{name:"HA",value:"黑A"},{name:"HB",value:"黑B"},{name:"HC",value:"黑C"},{name:"HD",value:"黑D"},{name:"HE",value:"黑E"},
{name:"HF",value:"黑F"},{name:"HG",value:"黑G"},{name:"HH",value:"黑H"},{name:"HJ",value:"黑J"},{name:"HK",value:"黑K"},{name:"HL",value:"黑L"},{name:"HM",value:"黑M"},
{name:"HN",value:"黑N"},{name:"HP",value:"黑P"},{name:"HR",value:"黑R"},{name:"XA",value:"湘A"},{name:"XB",value:"湘B"},{name:"XC",value:"湘C"},{name:"XD",value:"湘D"},
{name:"XE",value:"湘E"},{name:"XF",value:"湘F"},{name:"XG",value:"湘G"},{name:"XH",value:"湘H"},{name:"XJ",value:"湘J"},{name:"XK",value:"湘K"},{name:"XL",value:"湘L"},
{name:"XM",value:"湘M"},{name:"XN",value:"湘N"},{name:"XU",value:"湘U"},{name:"WA",value:"皖A"},{name:"WB",value:"皖B"},{name:"WC",value:"皖C"},{name:"WD",value:"皖D"},
{name:"WE",value:"皖E"},{name:"WF",value:"皖F"},{name:"WG",value:"皖G"},{name:"WH",value:"皖H"},{name:"WJ",value:"皖J"},{name:"WK",value:"皖K"},{name:"WL",value:"皖L"},
{name:"WM",value:"皖M"},{name:"WN",value:"皖N"},{name:"WP",value:"皖P"},{name:"WR",value:"皖R"},{name:"WS",value:"皖S"},{name:"LA",value:"鲁A"},{name:"LB",value:"鲁B"},
{name:"LC",value:"鲁C"},{name:"LD",value:"鲁D"},{name:"LE",value:"鲁E"},{name:"LF",value:"鲁F"},{name:"LG",value:"鲁G"},{name:"LH",value:"鲁H"},{name:"LJ",value:"鲁J"},
{name:"LK",value:"鲁K"},{name:"LL",value:"鲁L"},{name:"LM",value:"鲁M"},{name:"LN",value:"鲁N"},{name:"LP",value:"鲁P"},{name:"LQ",value:"鲁Q"},{name:"LR",value:"鲁R"},
{name:"LS",value:"鲁S"},{name:"LU",value:"鲁U"},{name:"LV",value:"鲁V"},{name:"LW",value:"鲁W"},{name:"LY",value:"鲁Y"},{name:"SA",value:"苏A"},{name:"SB",value:"苏B"},
{name:"SC",value:"苏C"},{name:"SD",value:"苏D"},{name:"SE",value:"苏E"},{name:"SF",value:"苏F"},{name:"SG",value:"苏G"},{name:"SH",value:"苏H"},{name:"SJ",value:"苏J"},
{name:"SK",value:"苏K"},{name:"SL",value:"苏L"},{name:"SM",value:"苏M"},{name:"SN",value:"苏N"},{name:"GA",value:"赣A"},{name:"GB",value:"赣B"},{name:"GC",value:"赣C"},
{name:"GD",value:"赣D"},{name:"GE",value:"赣E"},{name:"GF",value:"赣F"},{name:"GG",value:"赣G"},{name:"GH",value:"赣H"},{name:"GJ",value:"赣J"},{name:"GK",value:"赣K"},
{name:"GL",value:"赣L"},{name:"GM",value:"赣M"},{name:"GO",value:"赣O"},{name:"GS",value:"赣S"},{name:"ZA",value:"浙A"},{name:"ZB",value:"浙B"},{name:"ZC",value:"浙C"},
{name:"ZD",value:"浙D"},{name:"ZE",value:"浙E"},{name:"ZF",value:"浙F"},{name:"ZG",value:"浙G"},{name:"ZH",value:"浙H"},{name:"ZJ",value:"浙J"},{name:"ZK",value:"浙K"},
{name:"ZL",value:"浙L"},{name:"YA",value:"粤A"},{name:"YB",value:"粤B"},{name:"YC",value:"粤C"},{name:"YD",value:"粤D"},{name:"YE",value:"粤E"},{name:"YF",value:"粤F"},
{name:"YG",value:"粤G"},{name:"YH",value:"粤H"},{name:"YJ",value:"粤J"},{name:"YK",value:"粤K"},{name:"YL",value:"粤L"},{name:"YM",value:"粤M"},{name:"YN",value:"粤N"},
{name:"YP",value:"粤P"},{name:"YQ",value:"粤Q"},{name:"YR",value:"粤R"},{name:"YS",value:"粤S"},{name:"YT",value:"粤T"},{name:"YU",value:"粤U"},{name:"YV",value:"粤V"},
{name:"YW",value:"粤W"},{name:"YX",value:"粤X"},{name:"YY",value:"粤Y"},{name:"YZ",value:"粤Z"},{name:"EA",value:"鄂A"},{name:"EB",value:"鄂B"},{name:"EC",value:"鄂C"},
{name:"ED",value:"鄂D"},{name:"EE",value:"鄂E"},{name:"EF",value:"鄂F"},{name:"EG",value:"鄂G"},{name:"EH",value:"鄂H"},{name:"EJ",value:"鄂J"},{name:"EK",value:"鄂K"},
{name:"EL",value:"鄂L"},{name:"EM",value:"鄂M"},{name:"EN",value:"鄂N"},{name:"EP",value:"鄂P"},{name:"EQ",value:"鄂Q"},{name:"ER",value:"鄂R"},{name:"ES",value:"鄂S"},
{name:"EAW",value:"鄂AW"},{name:"EO",value:"鄂O"},{name:"GA",value:"桂A"},{name:"GB",value:"桂B"},{name:"GC",value:"桂C"},{name:"GD",value:"桂D"},{name:"GE",value:"桂E"},
{name:"GF",value:"桂F"},{name:"GG",value:"桂G"},{name:"GH",value:"桂H"},{name:"HJ",value:"桂J"},{name:"HK",value:"桂K"},{name:"GL",value:"桂L"},{name:"GM",value:"桂M"},
{name:"GN",value:"桂N"},{name:"GP",value:"桂P"},{name:"GR",value:"桂R"},{name:"GA",value:"甘A"},{name:"GB",value:"甘B"},{name:"GC",value:"甘C"},{name:"GD",value:"甘D"},
{name:"GE",value:"甘E"},{name:"GF",value:"甘F"},{name:"GG",value:"甘G"},{name:"GM",value:"甘H"},{name:"GJ",value:"甘J"},{name:"GK",value:"甘K"},{name:"GL",value:"甘L"},
{name:"GM",value:"甘M"},{name:"GN",value:"甘N"},{name:"GP",value:"甘P"},{name:"JA",value:"晋A"},{name:"JB",value:"晋B"},{name:"JC",value:"晋C"},{name:"JD",value:"晋D"},
{name:"JE",value:"晋E"},{name:"JF",value:"晋F"},{name:"JH",value:"晋H"},{name:"JJ",value:"晋J"},{name:"JK",value:"晋K"},{name:"JL",value:"晋L"},{name:"JM",value:"晋M"},
{name:"MA",value:"蒙A"},{name:"MB",value:"蒙B"},{name:"MC",value:"蒙C"},{name:"MD",value:"蒙D"},{name:"ME",value:"蒙E"},{name:"MF",value:"蒙F"},{name:"MG",value:"蒙G"},
{name:"MH",value:"蒙H"},{name:"MJ",value:"蒙J"},{name:"MK",value:"蒙K"},{name:"ML",value:"蒙L"},{name:"MM",value:"蒙M"},{name:"SA",value:"陕A"},{name:"SB",value:"陕B"},
{name:"SC",value:"陕C"},{name:"SD",value:"陕D"},{name:"SE",value:"陕E"},{name:"SF",value:"陕F"},{name:"SG",value:"陕G"},{name:"SH",value:"陕H"},{name:"SJ",value:"陕J"},
{name:"SK",value:"陕K"},{name:"SV",value:"陕V"},{name:"JA",value:"吉A"},{name:"JB",value:"吉B"},{name:"JC",value:"吉C"},{name:"JD",value:"吉D"},{name:"JE",value:"吉E"},
{name:"JF",value:"吉F"},{name:"JG",value:"吉G"},{name:"JH",value:"吉H"},{name:"JJ",value:"吉J"},{name:"JK",value:"吉K"},{name:"MA",value:"闽A"},{name:"MB",value:"闽B"},
{name:"MC",value:"闽C"},{name:"MD",value:"闽D"},{name:"ME",value:"闽E"},{name:"MF",value:"闽F"},{name:"MG",value:"闽G"},{name:"MH",value:"闽H"},{name:"MJ",value:"闽J"},
{name:"MK",value:"闽K"},{name:"GA",value:"贵A"},{name:"GB",value:"贵B"},{name:"GC",value:"贵C"},{name:"GD",value:"贵D"},{name:"GE",value:"贵E"},{name:"GF",value:"贵F"},
{name:"GG",value:"贵G"},{name:"GH",value:"贵H"},{name:"GJ",value:"贵J"},{name:"QA",value:"青A"},{name:"QB",value:"青B"},{name:"QC",value:"青C"},{name:"QD",value:"青D"},
{name:"QE",value:"青E"},{name:"QF",value:"青F"},{name:"QG",value:"青G"},{name:"QH",value:"青H"},{name:"ZA",value:"藏A"},{name:"ZB",value:"藏B"},{name:"ZC",value:"藏C"},
{name:"ZD",value:"藏D"},{name:"ZE",value:"藏E"},{name:"ZF",value:"藏F"},{name:"ZG",value:"藏G"},{name:"ZH",value:"藏H"},{name:"ZJ",value:"藏J"},{name:"CA",value:"川A"},
{name:"CB",value:"川B"},{name:"CC",value:"川C"},{name:"CD",value:"川D"},{name:"CE",value:"川E"},{name:"CF",value:"川F"},{name:"CH",value:"川H"},{name:"CJ",value:"川J"},
{name:"CK",value:"川K"},{name:"CL",value:"川L"},{name:"CM",value:"川M"},{name:"JO",value:"川O"},{name:"CQ",value:"川Q"},{name:"CR",value:"川R"},{name:"CS",value:"川S"},
{name:"CT",value:"川T"},{name:"CU",value:"川U"},{name:"CV",value:"川V"},{name:"CW",value:"川W"},{name:"CX",value:"川X"},{name:"CY",value:"川Y"},{name:"CZ",value:"川Z"},
{name:"NA",value:"宁A"},{name:"NB",value:"宁B"},{name:"NC",value:"宁C"},{name:"ND",value:"宁D"},{name:"NE",value:"宁E"},{name:"XA",value:"新A"},{name:"XB",value:"新B"},
{name:"XC",value:"新C"},{name:"XD",value:"新D"},{name:"XE",value:"新E"},{name:"XF",value:"新F"},{name:"XG",value:"新G"},{name:"XH",value:"新H"},{name:"XJ",value:"新J"},
{name:"XK",value:"新K"},{name:"XL",value:"新L"},{name:"XM",value:"新M"},{name:"XN",value:"新N"},{name:"XP",value:"新P"},{name:"XQ",value:"新Q"},{name:"XR",value:"新R"},
{name:"QA",value:"琼A"},{name:"QB",value:"琼B"},{name:"QC",value:"琼C"},{name:"QD",value:"琼D"},{name:"QE",value:"琼E"}];

@ -0,0 +1,61 @@
window.onload = function() {
$("#car_name").on("focus", function() {
var car_name = $("#car_name").val();
if(car_name == "输入车牌") {
$("#car_name").val("");
}
});
$(".next_step").on("click", function() {
var car_name = $("#car_name").val().toUpperCase();
if(car_name == "输入车牌" || car_name == "") {
layer.open({
content: '请输入车牌',
skin: 'msg',
time: 2
});
} else if(check_car_name(car_name) == false) {
layer.open({
content: '请输入正确车牌',
skin: 'msg',
time: 2
});
} else {
$.ajax({
type: "post",
url: location.href,
async: false,
data: {
"car_name": car_name
},
dataType: "html",
success: function(data) {
if(data == 'success') {
layer.open({
content: '绑定成功',
skin: 'msg',
time: 2
});
setTimeout(function(){
window.location.href="index.php";
},2000);
} else {
layer.open({
content: '绑定失败',
skin: 'msg',
time: 2
});
}
}
});
}
});
}
function check_car_name(car_name) {
var re = /^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$/;
if(car_name.search(re) == -1) {
return false;
} else {
return true;
}
}

@ -0,0 +1,808 @@
/*
* jQuery Autocomplete plugin 1.1
*
* Copyright (c) 2009 Jörn Zaefferer
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Revision: $Id: jquery.autocomplete.js 15 2009-08-22 10:30:27Z joern.zaefferer $
*/
;(function($) {
$.fn.extend({
autocomplete: function(urlOrData, options) {
var isUrl = typeof urlOrData == "string";
options = $.extend({}, $.Autocompleter.defaults, {
url: isUrl ? urlOrData : null,
data: isUrl ? null : urlOrData,
delay: isUrl ? $.Autocompleter.defaults.delay : 10,
max: options && !options.scroll ? 10 : 150
}, options);
// if highlight is set to false, replace it with a do-nothing function
options.highlight = options.highlight || function(value) { return value; };
// if the formatMatch option is not specified, then use formatItem for backwards compatibility
options.formatMatch = options.formatMatch || options.formatItem;
return this.each(function() {
new $.Autocompleter(this, options);
});
},
result: function(handler) {
return this.bind("result", handler);
},
search: function(handler) {
return this.trigger("search", [handler]);
},
flushCache: function() {
return this.trigger("flushCache");
},
setOptions: function(options){
return this.trigger("setOptions", [options]);
},
unautocomplete: function() {
return this.trigger("unautocomplete");
}
});
$.Autocompleter = function(input, options) {
var KEY = {
UP: 38,
DOWN: 40,
DEL: 46,
TAB: 9,
RETURN: 13,
ESC: 27,
COMMA: 188,
PAGEUP: 33,
PAGEDOWN: 34,
BACKSPACE: 8
};
// Create $ object for input element
var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);
var timeout;
var previousValue = "";
var cache = $.Autocompleter.Cache(options);
var hasFocus = 0;
var lastKeyPressCode;
var config = {
mouseDownOnSelect: false
};
var select = $.Autocompleter.Select(options, input, selectCurrent, config);
var blockSubmit;
// prevent form submit in opera when selecting with return key
$.browser.opera && $(input.form).bind("submit.autocomplete", function() {
if (blockSubmit) {
blockSubmit = false;
return false;
}
});
// only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all
$input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) {
// a keypress means the input has focus
// avoids issue where input had focus before the autocomplete was applied
hasFocus = 1;
// track last key pressed
lastKeyPressCode = event.keyCode;
switch(event.keyCode) {
case KEY.UP:
event.preventDefault();
if ( select.visible() ) {
select.prev();
} else {
onChange(0, true);
}
break;
case KEY.DOWN:
event.preventDefault();
if ( select.visible() ) {
select.next();
} else {
onChange(0, true);
}
break;
case KEY.PAGEUP:
event.preventDefault();
if ( select.visible() ) {
select.pageUp();
} else {
onChange(0, true);
}
break;
case KEY.PAGEDOWN:
event.preventDefault();
if ( select.visible() ) {
select.pageDown();
} else {
onChange(0, true);
}
break;
// matches also semicolon
case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
case KEY.TAB:
case KEY.RETURN:
if( selectCurrent() ) {
// stop default to prevent a form submit, Opera needs special handling
event.preventDefault();
blockSubmit = true;
return false;
}
break;
case KEY.ESC:
select.hide();
break;
default:
clearTimeout(timeout);
timeout = setTimeout(onChange, options.delay);
break;
}
}).focus(function(){
// track whether the field has focus, we shouldn't process any
// results if the field no longer has focus
hasFocus++;
}).blur(function() {
hasFocus = 0;
if (!config.mouseDownOnSelect) {
hideResults();
}
}).click(function() {
// show select when clicking in a focused field
if ( hasFocus++ > 1 && !select.visible() ) {
onChange(0, true);
}
}).bind("search", function() {
// TODO why not just specifying both arguments?
var fn = (arguments.length > 1) ? arguments[1] : null;
function findValueCallback(q, data) {
var result;
if( data && data.length ) {
for (var i=0; i < data.length; i++) {
if( data[i].result.toLowerCase() == q.toLowerCase() ) {
result = data[i];
break;
}
}
}
if( typeof fn == "function" ) fn(result);
else $input.trigger("result", result && [result.data, result.value]);
}
$.each(trimWords($input.val()), function(i, value) {
request(value, findValueCallback, findValueCallback);
});
}).bind("flushCache", function() {
cache.flush();
}).bind("setOptions", function() {
$.extend(options, arguments[1]);
// if we've updated the data, repopulate
if ( "data" in arguments[1] )
cache.populate();
}).bind("unautocomplete", function() {
select.unbind();
$input.unbind();
$(input.form).unbind(".autocomplete");
});
function selectCurrent() {
var selected = select.selected();
if( !selected )
return false;
var v = selected.result;
previousValue = v;
if ( options.multiple ) {
var words = trimWords($input.val());
if ( words.length > 1 ) {
var seperator = options.multipleSeparator.length;
var cursorAt = $(input).selection().start;
var wordAt, progress = 0;
$.each(words, function(i, word) {
progress += word.length;
if (cursorAt <= progress) {
wordAt = i;
return false;
}
progress += seperator;
});
words[wordAt] = v;
// TODO this should set the cursor to the right position, but it gets overriden somewhere
//$.Autocompleter.Selection(input, progress + seperator, progress + seperator);
v = words.join( options.multipleSeparator );
}
v += options.multipleSeparator;
}
$input.val(v);
hideResultsNow();
$input.trigger("result", [selected.data, selected.value]);
return true;
}
function onChange(crap, skipPrevCheck) {
if( lastKeyPressCode == KEY.DEL ) {
select.hide();
return;
}
var currentValue = $input.val();
if ( !skipPrevCheck && currentValue == previousValue )
return;
previousValue = currentValue;
currentValue = lastWord(currentValue);
if ( currentValue.length >= options.minChars) {
$input.addClass(options.loadingClass);
if (!options.matchCase)
currentValue = currentValue.toLowerCase();
request(currentValue, receiveData, hideResultsNow);
} else {
stopLoading();
select.hide();
}
};
function trimWords(value) {
if (!value)
return [""];
if (!options.multiple)
return [$.trim(value)];
return $.map(value.split(options.multipleSeparator), function(word) {
return $.trim(value).length ? $.trim(word) : null;
});
}
function lastWord(value) {
if ( !options.multiple )
return value;
var words = trimWords(value);
if (words.length == 1)
return words[0];
var cursorAt = $(input).selection().start;
if (cursorAt == value.length) {
words = trimWords(value)
} else {
words = trimWords(value.replace(value.substring(cursorAt), ""));
}
return words[words.length - 1];
}
// fills in the input box w/the first match (assumed to be the best match)
// q: the term entered
// sValue: the first matching result
function autoFill(q, sValue){
// autofill in the complete box w/the first match as long as the user hasn't entered in more data
// if the last user key pressed was backspace, don't autofill
if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) {
// fill in the value (keep the case the user has typed)
$input.val($input.val() + sValue.substring(lastWord(previousValue).length));
// select the portion of the value not typed by the user (so the next character will erase)
$(input).selection(previousValue.length, previousValue.length + sValue.length);
}
};
function hideResults() {
clearTimeout(timeout);
timeout = setTimeout(hideResultsNow, 200);
};
function hideResultsNow() {
var wasVisible = select.visible();
select.hide();
clearTimeout(timeout);
stopLoading();
if (options.mustMatch) {
// call search and run callback
$input.search(
function (result){
// if no value found, clear the input box
if( !result ) {
if (options.multiple) {
var words = trimWords($input.val()).slice(0, -1);
$input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") );
}
else {
$input.val( "" );
$input.trigger("result", null);
}
}
}
);
}
};
function receiveData(q, data) {
if ( data && data.length && hasFocus ) {
stopLoading();
select.display(data, q);
autoFill(q, data[0].value);
select.show();
} else {
hideResultsNow();
}
};
function request(term, success, failure) {
if (!options.matchCase)
term = term.toLowerCase();
var data = cache.load(term);
// recieve the cached data
if (data && data.length) {
success(term, data);
// if an AJAX url has been supplied, try loading the data now
} else if( (typeof options.url == "string") && (options.url.length > 0) ){
var extraParams = {
timestamp: +new Date()
};
$.each(options.extraParams, function(key, param) {
extraParams[key] = typeof param == "function" ? param() : param;
});
$.ajax({
// try to leverage ajaxQueue plugin to abort previous requests
mode: "abort",
// limit abortion to this input
port: "autocomplete" + input.name,
dataType: options.dataType,
url: options.url,
data: $.extend({
q: lastWord(term),
limit: options.max
}, extraParams),
success: function(data) {
var parsed = options.parse && options.parse(data) || parse(data);
cache.add(term, parsed);
success(term, parsed);
}
});
} else {
// if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
select.emptyList();
failure(term);
}
};
function parse(data) {
var parsed = [];
var rows = data.split("\n");
for (var i=0; i < rows.length; i++) {
var row = $.trim(rows[i]);
if (row) {
row = row.split("|");
parsed[parsed.length] = {
data: row,
value: row[0],
result: options.formatResult && options.formatResult(row, row[0]) || row[0]
};
}
}
return parsed;
};
function stopLoading() {
$input.removeClass(options.loadingClass);
};
};
$.Autocompleter.defaults = {
inputClass: "ac_input",
resultsClass: "ac_results",
loadingClass: "ac_loading",
minChars: 1,
delay: 400,
matchCase: false,
matchSubset: true,
matchContains: false,
cacheLength: 10,
max: 100,
mustMatch: false,
extraParams: {},
selectFirst: true,
formatItem: function(row) { return row[0]; },
formatMatch: null,
autoFill: false,
width: 0,
multiple: false,
multipleSeparator: ", ",
highlight: function(value, term) {
return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
},
scroll: true,
scrollHeight: 180
};
$.Autocompleter.Cache = function(options) {
var data = {};
var length = 0;
function matchSubset(s, sub) {
if (!options.matchCase)
s = s.toLowerCase();
var i = s.indexOf(sub);
if (options.matchContains == "word"){
i = s.toLowerCase().search("\\b" + sub.toLowerCase());
}
if (i == -1) return false;
return i == 0 || options.matchContains;
};
function add(q, value) {
if (length > options.cacheLength){
flush();
}
if (!data[q]){
length++;
}
data[q] = value;
}
function populate(){
if( !options.data ) return false;
// track the matches
var stMatchSets = {},
nullData = 0;
// no url was specified, we need to adjust the cache length to make sure it fits the local data store
if( !options.url ) options.cacheLength = 1;
// track all options for minChars = 0
stMatchSets[""] = [];
// loop through the array and create a lookup structure
for ( var i = 0, ol = options.data.length; i < ol; i++ ) {
var rawValue = options.data[i];
// if rawValue is a string, make an array otherwise just reference the array
rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;
var value = options.formatMatch(rawValue, i+1, options.data.length);
if ( value === false )
continue;
var firstChar = value.charAt(0).toLowerCase();
// if no lookup array for this character exists, look it up now
if( !stMatchSets[firstChar] )
stMatchSets[firstChar] = [];
// if the match is a string
var row = {
value: value,
data: rawValue,
result: options.formatResult && options.formatResult(rawValue) || value
};
// push the current match into the set list
stMatchSets[firstChar].push(row);
// keep track of minChars zero items
if ( nullData++ < options.max ) {
stMatchSets[""].push(row);
}
};
// add the data items to the cache
$.each(stMatchSets, function(i, value) {
// increase the cache size
options.cacheLength++;
// add to the cache
add(i, value);
});
}
// populate any existing data
setTimeout(populate, 25);
function flush(){
data = {};
length = 0;
}
return {
flush: flush,
add: add,
populate: populate,
load: function(q) {
if (!options.cacheLength || !length)
return null;
/*
* if dealing w/local data and matchContains than we must make sure
* to loop through all the data collections looking for matches
*/
if( !options.url && options.matchContains ){
// track all matches
var csub = [];
// loop through all the data grids for matches
for( var k in data ){
// don't search through the stMatchSets[""] (minChars: 0) cache
// this prevents duplicates
if( k.length > 0 ){
var c = data[k];
$.each(c, function(i, x) {
// if we've got a match, add it to the array
if (matchSubset(x.value, q)) {
csub.push(x);
}
});
}
}
return csub;
} else
// if the exact item exists, use it
if (data[q]){
return data[q];
} else
if (options.matchSubset) {
for (var i = q.length - 1; i >= options.minChars; i--) {
var c = data[q.substr(0, i)];
if (c) {
var csub = [];
$.each(c, function(i, x) {
if (matchSubset(x.value, q)) {
csub[csub.length] = x;
}
});
return csub;
}
}
}
return null;
}
};
};
$.Autocompleter.Select = function (options, input, select, config) {
var CLASSES = {
ACTIVE: "ac_over"
};
var listItems,
active = -1,
data,
term = "",
needsInit = true,
element,
list;
// Create results
function init() {
if (!needsInit)
return;
element = $("<div/>")
.hide()
.addClass(options.resultsClass)
.css("position", "absolute")
.appendTo(document.body);
list = $("<ul/>").appendTo(element).mouseover( function(event) {
if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
$(target(event)).addClass(CLASSES.ACTIVE);
}
}).click(function(event) {
$(target(event)).addClass(CLASSES.ACTIVE);
select();
// TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
input.focus();
return false;
}).mousedown(function() {
config.mouseDownOnSelect = true;
}).mouseup(function() {
config.mouseDownOnSelect = false;
});
if( options.width > 0 )
element.css("width", options.width);
needsInit = false;
}
function target(event) {
var element = event.target;
while(element && element.tagName != "LI")
element = element.parentNode;
// more fun with IE, sometimes event.target is empty, just ignore it then
if(!element)
return [];
return element;
}
function moveSelect(step) {
listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
movePosition(step);
var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
if(options.scroll) {
var offset = 0;
listItems.slice(0, active).each(function() {
offset += this.offsetHeight;
});
if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {
list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
} else if(offset < list.scrollTop()) {
list.scrollTop(offset);
}
}
};
function movePosition(step) {
active += step;
if (active < 0) {
active = listItems.size() - 1;
} else if (active >= listItems.size()) {
active = 0;
}
}
function limitNumberOfItems(available) {
return options.max && options.max < available
? options.max
: available;
}
function fillList() {
list.empty();
var max = limitNumberOfItems(data.length);
for (var i=0; i < max; i++) {
if (!data[i])
continue;
var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
if ( formatted === false )
continue;
var li = $("<li/>").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
$.data(li, "ac_data", data[i]);
}
listItems = list.find("li");
if ( options.selectFirst ) {
listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
active = 0;
}
// apply bgiframe if available
if ( $.fn.bgiframe )
list.bgiframe();
}
return {
display: function(d, q) {
init();
data = d;
term = q;
fillList();
},
next: function() {
moveSelect(1);
},
prev: function() {
moveSelect(-1);
},
pageUp: function() {
if (active != 0 && active - 8 < 0) {
moveSelect( -active );
} else {
moveSelect(-8);
}
},
pageDown: function() {
if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
moveSelect( listItems.size() - 1 - active );
} else {
moveSelect(8);
}
},
hide: function() {
element && element.hide();
listItems && listItems.removeClass(CLASSES.ACTIVE);
active = -1;
},
visible : function() {
return element && element.is(":visible");
},
current: function() {
return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
},
show: function() {
var offset = $(input).offset();
element.css({
width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(),
top: offset.top + input.offsetHeight,
left: offset.left
}).show();
if(options.scroll) {
list.scrollTop(0);
list.css({
maxHeight: options.scrollHeight,
overflow: 'auto'
});
if($.browser.msie && typeof document.body.style.maxHeight === "undefined") {
var listHeight = 0;
listItems.each(function() {
listHeight += this.offsetHeight;
});
var scrollbarsVisible = listHeight > options.scrollHeight;
list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight );
if (!scrollbarsVisible) {
// IE doesn't recalculate width when scrollbar disappears
listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) );
}
}
}
},
selected: function() {
var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
return selected && selected.length && $.data(selected[0], "ac_data");
},
emptyList: function (){
list && list.empty();
},
unbind: function() {
element && element.remove();
}
};
};
$.fn.selection = function(start, end) {
if (start !== undefined) {
return this.each(function() {
if( this.createTextRange ){
var selRange = this.createTextRange();
if (end === undefined || start == end) {
selRange.move("character", start);
selRange.select();
} else {
selRange.collapse(true);
selRange.moveStart("character", start);
selRange.moveEnd("character", end);
selRange.select();
}
} else if( this.setSelectionRange ){
this.setSelectionRange(start, end);
} else if( this.selectionStart ){
this.selectionStart = start;
this.selectionEnd = end;
}
});
}
var field = this[0];
if ( field.createTextRange ) {
var range = document.selection.createRange(),
orig = field.value,
teststring = "<->",
textLength = range.text.length;
range.text = teststring;
var caretAt = field.value.indexOf(teststring);
field.value = orig;
this.selection(caretAt, caretAt + textLength);
return {
start: caretAt,
end: caretAt + textLength
}
} else if( field.selectionStart !== undefined ){
return {
start: field.selectionStart,
end: field.selectionEnd
}
}
};
})(jQuery);

4
js/jquery.min.js vendored

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
/*! layer mobile-v2.0.0 Web弹层组件 LGPL License http://layer.layui.com/mobile By 贤心 */
;!function(e){"use strict";var t=document,n="querySelectorAll",i="getElementsByClassName",a=function(e){return t[n](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var n in e)t[n]=e[n];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var r=0,o=["layui-m-layer"],c=function(e){var t=this;t.config=l.extend(e),t.view()};c.prototype.view=function(){var e=this,n=e.config,s=t.createElement("div");e.id=s.id=o[0]+r,s.setAttribute("class",o[0]+" "+o[0]+(n.type||0)),s.setAttribute("index",r);var l=function(){var e="object"==typeof n.title;return n.title?'<h3 style="'+(e?n.title[1]:"")+'">'+(e?n.title[0]:n.title)+"</h3>":""}(),c=function(){"string"==typeof n.btn&&(n.btn=[n.btn]);var e,t=(n.btn||[]).length;return 0!==t&&n.btn?(e='<span yes type="1">'+n.btn[0]+"</span>",2===t&&(e='<span no type="0">'+n.btn[1]+"</span>"+e),'<div class="layui-m-layerbtn">'+e+"</div>"):""}();if(n.fixed||(n.top=n.hasOwnProperty("top")?n.top:100,n.style=n.style||"",n.style+=" top:"+(t.body.scrollTop+n.top)+"px"),2===n.type&&(n.content='<i></i><i class="layui-m-layerload"></i><i></i><p>'+(n.content||"")+"</p>"),n.skin&&(n.anim="up"),"msg"===n.skin&&(n.shade=!1),s.innerHTML=(n.shade?"<div "+("string"==typeof n.shade?'style="'+n.shade+'"':"")+' class="layui-m-layershade"></div>':"")+'<div class="layui-m-layermain" '+(n.fixed?"":'style="position:static;"')+'><div class="layui-m-layersection"><div class="layui-m-layerchild '+(n.skin?"layui-m-layer-"+n.skin+" ":"")+(n.className?n.className:"")+" "+(n.anim?"layui-m-anim-"+n.anim:"")+'" '+(n.style?'style="'+n.style+'"':"")+">"+l+'<div class="layui-m-layercont">'+n.content+"</div>"+c+"</div></div></div>",!n.type||2===n.type){var d=t[i](o[0]+n.type),y=d.length;y>=1&&layer.close(d[0].getAttribute("index"))}document.body.appendChild(s);var u=e.elem=a("#"+e.id)[0];n.success&&n.success(u),e.index=r++,e.action(n,u)},c.prototype.action=function(e,t){var n=this;e.time&&(l.timer[n.index]=setTimeout(function(){layer.close(n.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),layer.close(n.index)):e.yes?e.yes(n.index):layer.close(n.index)};if(e.btn)for(var s=t[i]("layui-m-layerbtn")[0].children,r=s.length,o=0;o<r;o++)l.touch(s[o],a);if(e.shade&&e.shadeClose){var c=t[i]("layui-m-layershade")[0];l.touch(c,function(){layer.close(n.index,e.end)})}e.end&&(l.end[n.index]=e.end)},e.layer={v:"2.0",index:r,open:function(e){var t=new c(e||{});return t.index},close:function(e){var n=a("#"+o[0]+e)[0];n&&(n.innerHTML="",t.body.removeChild(n),clearTimeout(l.timer[e]),delete l.timer[e],"function"==typeof l.end[e]&&l.end[e](),delete l.end[e])},closeAll:function(){for(var e=t[i](o[0]),n=0,a=e.length;n<a;n++)layer.close(0|e[0].getAttribute("index"))}},"function"==typeof define?define(function(){return layer}):function(){var e=document.scripts,n=e[e.length-1],i=n.src,a=i.substring(0,i.lastIndexOf("/")+1);n.getAttribute("merge")||document.head.appendChild(function(){var e=t.createElement("link");return e.href=a+"need/layer.css?2.0",e.type="text/css",e.rel="styleSheet",e.id="layermcss",e}())}()}(window);

@ -1,6 +1,6 @@
<?php
include './functions.php';
include '../functions.php';
Header("HTTP/1.1 301 Moved Permanently");
Loading…
Cancel
Save