$(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'); }, function () {} ); $(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; }; $placeholder = function placeholder(element) { if ( $(element).val() == '' && ($(element).attr('placeholder') || $emptyplaceholder(element)) ) { $(element).val($(element).attr('placeholder')); $(element).data('pintuerholder', $(element).css('color')); $(element).css('color', 'rgb(169,169,169)'); $(element).focus(function () { $hideplaceholder($(this)); }); $(element).blur(function () { $showplaceholder($(this)); }); } }; if (!$checkplaceholder()) { $('textarea[placeholder], input[placeholder]').each(function ( index, element ) { $placeholder(element); }); } $emptyplaceholder = function (element) { var $content = $(element).val(); return $content.length === 0 || $content == $(element).attr('placeholder'); }; $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)'); } }; $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-group').removeClass('check-error'); e.parent().find('.input-help').remove(); e.closest('.form-group').addClass('check-success'); } else { e.closest('.form-group').removeClass('check-success'); e.closest('.form-group').addClass('check-error'); e.closest('.field').append( '
    ' ); } } if (!$checkplaceholder()) { $placeholder(e); } }); $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*\.?\d+$/.test($pintu); break; case 'integer': return /^-?[1-9]\d*$/.test($pintu); break; case 'plusinteger': return /^[1-9]\d*$/.test($pintu); break; case 'unplusinteger': return /^-[1-9]\d*$/.test($pintu); break; case 'znumber': return /^[1-9]\d*|0$/.test($pintu); break; case 'fnumber': return /^-[1-9]\d*|0$/.test($pintu); break; case 'double': return /^[-\+]?\d+(\.\d+)?$/.test($pintu); break; case 'plusdouble': return /^[+]?\d+(\.\d+)?$/.test($pintu); break; case 'unplusdouble': return /^-[1-9]\d*\.\d*|-0\.\d*[1-9]\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 /^\s*(15\d{9}|13\d{9}|14\d{9}|17\d{9}|18\d{9})\s*$/.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 /^https:|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 'zipcode': return /^[1-9]\d{5}$/.test($pintu); break; case 'chinesename': return /^[\u0391-\uFFE5]{2,15}$/.test($pintu); break; case 'englishname': return /^[A-Za-z]{1,161}$/.test($pintu); break; case 'age': return /^[1-99]?\d*$/.test($pintu); break; case 'date': return /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/.test( $pintu ); break; case 'datetime': return /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$/.test( $pintu ); break; case 'idcard': return /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/.test($pintu); break; case 'bigenglish': return /^[A-Z]+$/.test($pintu); break; case 'smallenglish': return /^[a-z]+$/.test($pintu); break; case 'color': return /^#[0-9a-fA-F]{6}$/.test($pintu); break; case 'ascii': return /^[\x00-\xFF]+$/.test($pintu); break; case 'md5': return /^([a-fA-F0-9]{32})$/.test($pintu); break; case 'zip': return /(.*)\.(rar|zip|7zip|tgz)$/.test($pintu); break; case 'img': return /(.*)\.(jpg|gif|ico|jpeg|png)$/.test($pintu); break; case 'doc': return /(.*)\.(doc|xls|docx|xlsx|pdf)$/.test($pintu); break; case 'mp3': return /(.*)\.(mp3)$/.test($pintu); break; case 'video': return /(.*)\.(rm|rmvb|wmv|avi|mp4|3gp|mkv)$/.test($pintu); break; case 'flash': return /(.*)\.(swf|fla|flv)$/.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[name="' + $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; } }); $('.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; }); } }); $('.slidemenu .icon-slidemenu').click(function () { $('.slidemenu .slidemenu-left,.slidemenu .slidemenu-right').toggle('slow'); }); $.fn.ajaxSubmit = function (fn) { $(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; } if (fn && typeof fn == 'function') { fn(); } }; $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 = $('
    '); var temp = ''; if (width == null) { width = '80%'; } if (mask == '1') { $('body').append(masklayout); } detail = '
    '; if (getid != null) { detail = detail + $(getid).html(); temp = $(getid).detach(); } 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(); $('body').prepend(temp); }); }); masklayout.click(function () { win.remove(); $(this).remove(); $('body').prepend(temp); }); }; $('.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 + '

    '; } e.attr('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'); }); }); $('.collapse-toggle .panel-head').each(function () { var e = $(this); e.click(function () { e.closest('.panel').toggleClass('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 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'); } else { e.removeClass('fixed-top'); } var thisbottom = top - $(window).scrollTop() - $(window).height(); if (style == 'fixed-bottom' && thisbottom > 0) { e.addClass('fixed-bottom'); } else { e.removeClass('fixed-bottom'); } }); }); $('.wx-share-btn').click(function () { $('.wx-share').show(); }); $('.wx-share').click(function () { $(this).hide(); }); $('.wx-comments-input').keydown(function () { var txt_num = 120 - parseInt($(this).val().length); $('.wx-comments-num').html(txt_num); }); $('.solution').hide().eq(0).show(); $('.sub_jindian li').eq(0).addClass('active'); $('.sub_jindian li').click(function () { var index = $(this).index(); $('.sub_jindian li').removeClass('active').eq(index).addClass('active'); $('.solution').hide().eq(index).show(); }); });