$(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 = '';
for (var j = 1; j < page; j++) {
point = point + ' ';
}
point = 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();
});
});