//表单验证
function FormTest(formClass,formBtn){
this.formClass = formClass; //表单类名
this.formBtn = formBtn; //提交按钮
this.closeTime = 2000; //报错关闭时间
this.limitTime = 2000; //节流时间
this.inputnull = "不能为空!"; //表单为空报错
this.teltype = "请输入正确的号码!"; //电话号码格式报错
this.emailtype = "请输入正确的邮箱!";//邮箱格式报错
this.radionull = "未勾选单选框"
}
FormTest.prototype = {
mustWrite : function () { //验证
this.allError = ''; //报错内容
for(loop1=0;loop1<=$(this.formClass).find('*').length;loop1++){ //循环表单下的所有标签
if($(this.formClass).find('*').eq(loop1).attr("data-must")=="true"){ //判断是否为必填
if($(this.formClass).find('*').eq(loop1).val().trim() == ""){ //判断必选表单是否为空
this.allError+=$(this.formClass).find('*').eq(loop1).attr("data-error")+this.inputnull; //打印为空的类型
break;
}else{
let formType = $(this.formClass).find('*').eq(loop1).attr("data-type"); //必选但不为空,判断类型
if(formType == "tel" || formType == "phone"){ //判断电话号码
if(!$(this.formClass).find('*').eq(loop1).val().trim().match(/^1[34578]\d{9}$/)){
this.allError+=this.teltype;
break;
}
}else if(formType == "email"){ //判断邮箱
if(!/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test($(this.formClass).find('*').eq(loop1).val().trim())){
this.allError+=this.emailtype;
break;
}
}else if(formType == "radio"){ //判断单选 验证类似 我已阅读 等
if(!$(this.formClass).find('*').eq(loop1).is(':checked')){
this.allError+=this.radionull;
break;
}
}
}
}
}
this.errorCount();
},
errorCount : function () { //弹出报错内容
if(this.allError != ""){ //报错
$(".formError").html("
"+this.allError+"
");
}else{
$(".formError").html("提交成功!
");
}
$(".formError").addClass("active");
setTimeout(function(){
$(".formError").removeClass("active");
},this.closeTime);
},
formEmpty : function () { //清空表单
for(loop2=0;loop2<=$(this.formClass).find('*').length;loop2++){ //循环表单下的所有标签
$(this.formClass).find('*').eq(loop2).val("");
}
}
}
//节流
let isyes = "yes";
function throttleTime(){isyes = "yes";window.clearTimeout(throttle);}
// 在线留言验证
$(".online1 button").click(function () { //表单验证调用
if(isyes == "yes"){
let onlineForm = new FormTest(".online1 form",".online1 button"); //实例化
isyes = "no";
throttle = setTimeout(throttleTime,onlineForm.limitTime); //节流
onlineForm.mustWrite(); //调用mustWrite方法验证表单
if(onlineForm.allError!=""){ //如果报错 则阻止页面刷新
return false;
}
else {
$(".online").fadeOut(400);
}
}else{
return false
}
})
// 顶部底色
if (document.documentElement.scrollTop > 50) {
$(".pc").addClass("active");
$(".goTop").addClass("active");
}else{
$(".pc").removeClass("active");
$(".goTop").removeClass("active");
}
$(document).bind('mousewheel DOMMouseScroll',function(event){
if (document.documentElement.scrollTop > 50) {
$(".pc").addClass("active");
$(".goTop").addClass("active");
}else{
$(".pc").removeClass("active");
$(".goTop").removeClass("active");
}
});
// 返回顶部
$(".goTop").click(function(){
$('html,body').animate({
scrollTop: 0
}, 600);
$(".pc").removeClass("active");
$(".goTop").removeClass("active");
})
// 菜单
$(".mentbtn").click(function(){
$(this).toggleClass("active");
$("header .m_ment").toggleClass("active");
})
$(".m_ment li").click(function(){
$(".m_ment li").eq($(".m_ment li").index(this)).find(".item").slideToggle().parents("li").siblings().find(".item").slideUp();
})
// 搜索
$(".search").click(function(){
$(".m_search").slideDown(400);
})
$(".searchClose").click(function(){
$(".m_search").fadeOut(400);
})
// 网络发布 友情链接
$(".release").click(function(){
$(this).toggleClass("active");
})
$(".links").click(function(){
$(this).toggleClass("active");
})
// 在线留言
$(".nav-online").click(function(){
$(".online1").fadeIn(400);
})
$(".online1 .close").click(function(){
$(".online1").fadeOut(400);
})
if ($("#distpicker-online").length > 0) {
$("#distpicker-online").distpicker({
province: "省份",
city: "地级市",
autoSelect: false
});
}
// 移动端内页导航栏
$(".navbar h5").click(function(){
if($(".navbar ul").length>0){
$(this).toggleClass("active");
$(".navbar ul").slideToggle();
}
})
// 产品导航栏
$(".js-more").click(function() {
$("dl").slideToggle(300);
});
$(".pc-nav dt").click(function() {
$(this).parents(".pc-nav").toggleClass("active");
$(this).siblings("dd").slideToggle(300);
if ($(this).find("i").hasClass("fa-angle-down")) {
$(this).find("i").removeClass("fa-angle-down");
$(this).find("i").addClass("fa-angle-up");
} else {
$(this).find("i").removeClass("fa-angle-up");
$(this).find("i").addClass("fa-angle-down");
}
});
// 关注我们
$(".footer1 li").click(function(){
$(".follow img").prop("src",$(this).eq($(this).index(this)).attr("data-img"));
$(".follow").fadeIn(400);
})
$(".follow").click(function(){
$(".follow").fadeOut(400);
$(".follow img").prop("src","");
})
// 友情链接
$(".links").click(function(){
$(".links ul").slideToggle(400);
})
// 底部加盟表单
$(".yuyue_btn2").click(function () { //表单验证调用
if(isyes == "yes"){
let subForm3 = new FormTest(".yuyue2 form",".yuyue_btn2"); //实例化
isyes = "no";
throttle = setTimeout(throttleTime,subForm3.limitTime); //节流
subForm3.mustWrite(); //调用mustWrite方法验证表单
if(subForm3.allError!=""){ //如果报错 则阻止页面刷新
return false;
}
}else{
return false
}
})
$("#distpicker-yuyue").distpicker({
province: "省份",
city: "地级市",
district: "区",
autoSelect: false
});
$(".bottom_yuyue .close").click(function(){
$(".bottom_yuyue").addClass("active");
$(".yuyue_add").addClass("active");
})
$(".yuyue_add").click(function(){
$(".bottom_yuyue").removeClass("active");
$(".yuyue_add").removeClass("active");
})
$(function () {
msgForm('.yuyue2 form');
});
if($(window).width() < 768){
$(".bottom_yuyue").addClass("active");
$(".yuyue_add").addClass("active");
}