$(function () { $(".win-homepage").click(function () { if (document.all) { document.body.style.behavior = 'url(#default#homepage)'; document.body.setHomePage(document.URL); } else { alert("设置首页失败,请手动设置!"); } }); $(".win-favorite").click(function () { var sURL = document.URL; var sTitle = document.title; try { window.external.addFavorite(sURL, sTitle); } catch (e) { try { window.sidebar.addPanel(sTitle, sURL, ""); } catch (e) { alert("加入收藏失败,请使用Ctrl+D进行添加"); } } }); $(".win-forward").click(function () { window.history.forward(1); }); $(".win-back").click(function () { window.history.back(-1); }); $(".win-backtop").click(function () { $('body,html').animate({scrollTop: 0}, 1000); return false; }); $(".win-refresh").click(function () { window.location.reload(); }); $(".win-print").click(function () { window.print(); }); $(".win-close").click(function () { window.close(); }); $('.checkall').click(function () { var e = $(this); var name = e.attr("name"); var checkfor = e.attr("checkfor"); var type; if (checkfor != '' && checkfor != null && checkfor != undefined) { type = e.closest('form').find("input[name='" + checkfor + "']"); } else { type = e.closest('form').find("input[type='checkbox']"); } ; if (name == "checkall") { $(type).each(function (index, element) { element.checked = true; }); e.attr("name", "ok"); } else { $(type).each(function (index, element) { element.checked = false; }); e.attr("name", "checkall"); } }); $('.dropdown-toggle').click(function () { $(this).closest('.button-group, .drop').addClass("open"); }); $(".dropdown-hover").hover(function () { $(".button-group, .drop").removeClass("open"); $(this).closest(".button-group, .drop").addClass("open") }); $(document).bind("click", function (e) { if ($(e.target).closest(".button-group.open, .drop.open").length == 0) { $(".button-group, .drop").removeClass("open"); } }); $checkplaceholder = function () { var input = document.createElement('input'); return 'placeholder' in input; }; if (!$checkplaceholder()) { $("textarea[placeholder], input[placeholder]").each(function (index, element) { var content = false; if ($(this).val().length === 0 || $(this).val() == $(this).attr("placeholder")) { content = true } ; if (content) { $(element).val($(element).attr("placeholder")); $(element).css("color", "rgb(169,169,169)"); $(element).data("pintuerholder", $(element).css("color")); $(element).focus(function () { $hideplaceholder($(this)); }); $(element).blur(function () { $showplaceholder($(this)); }); } }) } ; $showplaceholder = function (element) { if (($(element).val().length === 0 || $(element).val() == $(element).attr("placeholder")) && $(element).attr("type") != "password") { $(element).val($(element).attr("placeholder")); $(element).data("pintuerholder", $(element).css("color")); $(element).css("color", "rgb(169,169,169)"); } }; var $hideplaceholder = function (element) { if ($(element).data("pintuerholder")) { $(element).val(""); $(element).css("color", $(element).data("pintuerholder")); $(element).removeData("pintuerholder"); } }; $('textarea, input, select').blur(function () { var e = $(this); if (e.attr("data-validate")) { e.closest('.field').find(".input-help").remove(); var $checkdata = e.attr("data-validate").split(','); var $checkvalue = e.val(); var $checkstate = true; var $checktext = ""; if (e.attr("placeholder") == $checkvalue) { $checkvalue = ""; } if ($checkvalue != "" || e.attr("data-validate").indexOf("required") >= 0) { for (var i = 0; i < $checkdata.length; i++) { var $checktype = $checkdata[i].split(':'); if (!$pintuercheck(e, $checktype[0], $checkvalue)) { $checkstate = false; $checktext = $checktext + "
  • " + $checktype[1] + "
  • "; } } } ; if ($checkstate) { e.closest('.form-check').removeClass("check-error"); e.parent().find(".input-help").remove(); e.closest('.form-check').addClass("check-success"); //有group e.closest('.form-group').removeClass("check-error"); e.parent().find(".input-help").remove(); e.closest('.form-group').addClass("check-success"); } else { e.closest('.form-check').removeClass("check-success"); e.closest('.form-check').addClass("check-error"); //有group e.closest('.form-group').removeClass("check-success"); e.closest('.form-group').addClass("check-error"); e.closest('.field').append('
    '); } } }); $pintuercheck = function (element, type, value) { $pintu = value.replace(/(^\s*)|(\s*$)/g, ""); switch (type) { case "required": return /[^(^\s*)|(\s*$)]/.test($pintu); break; case "chinese": return /^[\u0391-\uFFE5]+$/.test($pintu); break; case "number": return /^\d+$/.test($pintu); break; case "integer": return /^[-\+]?\d+$/.test($pintu); break; case "plusinteger": return /^[+]?\d+$/.test($pintu); break; case "double": return /^[-\+]?\d+(\.\d+)?$/.test($pintu); break; case "plusdouble": return /^[+]?\d+(\.\d+)?$/.test($pintu); break; case "english": return /^[A-Za-z]+$/.test($pintu); break; case "username": return /^[a-z]\w{3,}$/i.test($pintu); break; case "mobile": return /^((\(\d{3}\))|(\d{3}\-))?13[0-9]\d{8}?$|15[0-9]\d{8}?$|17[0-9]\d{8}?$|14[0-9]\d{8}?$|18[0-9]\d{8}?$/.test($pintu); break; case "phone": return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/.test($pintu); break; case "tel": return /^((\(\d{3}\))|(\d{3}\-))?13[0-9]\d{8}?$|15[89]\d{8}?$|170\d{8}?$|147\d{8}?$/.test($pintu) || /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/.test($pintu); break; case "email": return /^[^@]+@[^@]+\.[^@]+$/.test($pintu); break; case "url": return /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/.test($pintu); break; case "ip": return /^[\d\.]{7,15}$/.test($pintu); break; case "qq": return /^[1-9]\d{4,10}$/.test($pintu); break; case "currency": return /^\d+(\.\d+)?$/.test($pintu); break; case "zip": return /^[1-9]\d{5}$/.test($pintu); break; case "radio": var radio = element.closest('form').find('input[name="' + element.attr("name") + '"]:checked').length; return eval(radio == 1); break; default: var $test = type.split('#'); if ($test.length > 1) { switch ($test[0]) { case "compare": return eval(Number($pintu) + $test[1]); break; case "regexp": return new RegExp($test[1], "gi").test($pintu); break; case "length": var $length; if (element.attr("type") == "checkbox") { $length = element.closest('form').find('input[name="' + element.attr("name") + '"]:checked').length; } else { $length = $pintu.replace(/[\u4e00-\u9fa5]/g, "***").length; } return eval($length + $test[1]); break; case "ajax": var $getdata; var $url = $test[1] + $pintu; $.ajaxSetup({async: false}); $.getJSON($url, function (data) { $getdata = data.getdata; }); if ($getdata == "true") { return true; } break; case "repeat": return $pintu == jQuery('input[id="' + $test[1] + '"]').eq(0).val(); break; default: return true; break; } break; } else { return true; } } }; $('form').submit(function () { $(this).find('input[data-validate],textarea[data-validate],select[data-validate]').trigger("blur"); $(this).find('input[placeholder],textarea[placeholder]').each(function () { $hideplaceholder($(this)); }); var numError = $(this).find('.check-error').length; if (numError) { $(this).find('.check-error').first().find('input[data-validate],textarea[data-validate],select[data-validate]').first().focus().select(); return false; } }); $.fn.valid = function () {//form验证 $(this).find('input[data-validate],textarea[data-validate],select[data-validate]').trigger("blur"); $(this).find('input[placeholder],textarea[placeholder]').each(function () { $hideplaceholder($(this)); }); var numError = $(this).find('.check-error').length; if (numError) { $(this).find('.check-error').first().find('input[data-validate],textarea[data-validate],select[data-validate]').first().focus().select(); return false; } return true; }; $('.form-reset').click(function () { $(this).closest('form').find(".input-help").remove(); $(this).closest('form').find('.form-submit').removeAttr('disabled'); $(this).closest('form').find('.form-group').removeClass("check-error"); $(this).closest('form').find('.form-group').removeClass("check-success"); }); $('.tab .tab-nav li').each(function () { var e = $(this); var trigger = e.closest('.tab').attr("data-toggle"); if (trigger == "hover") { e.mouseover(function () { $showtabs(e); }); e.click(function () { return false; }); } else { e.click(function () { $showtabs(e); return false; }); } }); $showtabs = function (e) { var detail = e.children("a").attr("href"); e.closest('.tab .tab-nav').find("li").removeClass("active"); e.closest('.tab').find(".tab-body .tab-panel").removeClass("active"); e.addClass("active"); $(detail).addClass("active"); }; $('.dialogs').each(function () { var e = $(this); var trigger = e.attr("data-toggle"); if (trigger == "hover") { e.mouseover(function () { $showdialogs(e); }); } else if (trigger == "click") { e.click(function () { $showdialogs(e); }); } }); $showdialogs = function (e) { var trigger = e.attr("data-toggle"); var getid = e.attr("data-target"); var data = e.attr("data-url"); var mask = e.attr("data-mask"); var width = e.attr("data-width"); var detail = ""; var masklayout = $('
    '); if (width == null) { width = "80%"; } if (mask == "1") { $("body").append(masklayout); } detail = '
    '; if (getid != null) { detail = detail + $(getid).html(); } if (data != null) { detail = detail + $.ajax({url: data, async: false}).responseText; } detail = detail + '
    '; var win = $(detail); win.find(".dialog").addClass("open"); $("body").append(win); var x = parseInt($(window).width() - win.outerWidth()) / 2; var y = parseInt($(window).height() - win.outerHeight()) / 2; if (y <= 10) { y = "10" } win.css({"left": x, "top": y}); win.find(".dialog-close,.close").each(function () { $(this).click(function () { win.remove(); $('.dialog-mask').remove(); }); }); masklayout.click(function () { win.remove(); $(this).remove(); }); }; $('.tips').each(function () { var e = $(this); var title = e.attr("title"); var trigger = e.attr("data-toggle"); e.attr("title", ""); if (trigger == "" || trigger == null) { trigger = "hover"; } if (trigger == "hover") { e.mouseover(function () { $showtips(e, title); }); } else if (trigger == "click") { e.click(function () { $showtips(e, title); }); } else if (trigger == "show") { e.ready(function () { $showtips(e, title); }); } }); $showtips = function (e, title) { var trigger = e.attr("data-toggle"); var place = e.attr("data-place"); var width = e.attr("data-width"); var css = e.attr("data-style"); var image = e.attr("data-image"); var content = e.attr("content"); var getid = e.attr("data-target"); var data = e.attr("data-url"); var x = 0; var y = 0; var html = ""; var detail = ""; if (image != null) { detail = detail + ''; } if (content != null) { detail = detail + '

    ' + content + '

    '; } if (getid != null) { detail = detail + $(getid).html(); } if (data != null) { detail = detail + $.ajax({url: data, async: false}).responseText; } if (title != null && title != "") { if (detail != null && detail != "") { detail = '

    ' + title + '

    ' + detail; } else { detail = '

    ' + title + '

    '; } } detail = '
    ' + detail + '
    '; html = $(detail); $("body").append(html); if (width != null) { html.css("width", width); } if (place == "" || place == null) { place = "top"; } if (place == "left") { x = e.offset().left - html.outerWidth() - 5; y = e.offset().top - html.outerHeight() / 2 + e.outerHeight() / 2; } else if (place == "top") { x = e.offset().left - html.outerWidth() / 2 + e.outerWidth() / 2; y = e.offset().top - html.outerHeight() - 5; } else if (place == "right") { x = e.offset().left + e.outerWidth() + 5; y = e.offset().top - html.outerHeight() / 2 + e.outerHeight() / 2; } else if (place == "bottom") { x = e.offset().left - html.outerWidth() / 2 + e.outerWidth() / 2; y = e.offset().top + e.outerHeight() + 5; } if (css != "") { html.addClass(css); } html.css({"left": x + "px", "top": y + "px", "position": "absolute"}); if (trigger == "hover" || trigger == "click" || trigger == null) { e.mouseout(function () { html.remove(); e.attr("title", title) }); } }; $('.alert .close').each(function () { $(this).click(function () { $(this).closest('.alert').remove(); }); }); $('.radio label').each(function () { var e = $(this); e.click(function () { e.closest('.radio').find("label").removeClass("active"); e.addClass("active"); }); }); $('.checkbox label').each(function () { var e = $(this); e.click(function () { if (e.find('input').is(':checked')) { e.addClass("active"); } else { e.removeClass("active"); } ; }); }); $('.collapse .panel-head').each(function () { var e = $(this); e.click(function () { e.closest('.collapse').find(".panel").removeClass("active"); e.closest('.panel').addClass("active"); }); }); $('.icon-navicon').each(function () { var e = $(this); var target = e.attr("data-target"); e.click(function () { $(target).toggleClass("nav-navicon"); }); }); $('.banner').each(function () { var e = $(this); var pointer = e.attr("data-pointer"); var interval = e.attr("data-interval"); var style = e.attr("data-style"); var items = e.attr("data-item"); var items_s = e.attr("data-small"); var items_m = e.attr("data-middle"); var items_b = e.attr("data-big"); var num = e.find(".carousel .item").length; var win = $(window).width(); var i = 1; if (interval == null) { interval = 5 } ; if (items == null || items < 1) { items = 1 } ; if (items_s != null && win > 760) { items = items_s } ; if (items_m != null && win > 1000) { items = items_m } ; if (items_b != null && win > 1200) { items = items_b } ; var itemWidth = Math.ceil(e.outerWidth() / items); var page = Math.ceil(num / items); e.find(".carousel .item").css("width", itemWidth + "px"); e.find(".carousel").css("width", itemWidth * num + "px"); var carousel = function () { i++; if (i > page) { i = 1; } $showbanner(e, i, items, num); }; var play = setInterval(carousel, interval * 600); e.mouseover(function () { clearInterval(play); }); e.mouseout(function () { play = setInterval(carousel, interval * 600); }); if (pointer != 0 && page > 1) { var point = ''; var pager = $(point); if (style != null) { pager.addClass(style); } ; e.append(pager); pager.css("left", e.outerWidth() * 0.5 - pager.outerWidth() * 0.5 + "px"); pager.find("li").click(function () { $showbanner(e, $(this).val(), items, num); }); var lefter = $('
    '); var righter = $('
    '); if (style != null) { lefter.addClass(style); righter.addClass(style); } ; e.append(lefter); e.append(righter); lefter.click(function () { i--; if (i < 1) { i = page; } $showbanner(e, i, items, num); }); righter.click(function () { i++; if (i > page) { i = 1; } $showbanner(e, i, items, num); }); } ; }); $showbanner = function (e, i, items, num) { var after = 0, leftx = 0; leftx = -Math.ceil(e.outerWidth() / items) * (items) * (i - 1); if (i * items > num) { after = i * items - num; leftx = -Math.ceil(e.outerWidth() / items) * (num - items); } ; e.find(".carousel").stop(true, true).animate({"left": leftx + "px"}, 800); e.find(".pointer li").removeClass("active"); e.find(".pointer li").eq(i - 1).addClass("active"); }; $(".spy a").each(function () { var e = $(this); var t = e.closest(".spy"); var target = t.attr("data-target"); var top = t.attr("data-offset-spy"); var thistarget = ""; var thistop = ""; if (top == null) { top = 0; } ; if (target == null) { thistarget = $(window); } else { thistarget = $(target); } ; thistarget.bind("scroll", function () { if (target == null) { thistop = $(e.attr("href")).offset().top - $(window).scrollTop() - parseInt(top); } else { thistop = $(e.attr("href")).offset().top - thistarget.offset().top - parseInt(top); } ; if (thistop < 0) { t.find('li').removeClass("active"); e.parents('li').addClass("active"); } ; }); }); $(".fixed").each(function () { var e = $(this); var style = e.attr("data-style"); var width = parseInt(e.attr("data-offset-fixed-width")); var top = e.attr("data-offset-fixed"); if (top == null) { top = e.offset().top; } else { top = e.offset().top - parseInt(top); } if (style == null) { style = "fixed-top"; } $(window).bind("scroll", function () { var thistop = top - $(window).scrollTop(); if (style == "fixed-top" && thistop < 0) { e.addClass("fixed-top"); if (width != null && width != 0) { e.css("width", $(window).width() + width); } //alert(e.parent().width()); } else { e.removeClass("fixed-top"); if (width != null && width != 0) { e.css("width", "100%"); } } var thisbottom = top - $(window).scrollTop() - $(window).height(); if (style == "fixed-bottom" && thisbottom > 0) { e.addClass("fixed-bottom"); } else { e.removeClass("fixed-bottom"); } ; }); }); })