HEX
Server: nginx/1.28.1
System: Linux iZgw8b5bpgd4jyptfmmmxgZ 6.6.102-5.2.alnx4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Nov 27 23:11:10 CST 2025 x86_64
User: www (1000)
PHP: 8.2.28
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.scdc-marine.com/wp-content/themes/scdc-marine/assets/js/heku.js
// 页面资源加载完成 js代码段
$(document).ready(function(){
	// jquery.running.js  数字动态插件 启动初始化
	$('body').num_running();

	//网站导航条自动悬浮设置 #heku-top-menu
	var $heku_header = $("#heku_top_menu");
	$(window).scroll(function(){
		if($(window).scrollTop() < 120 ){
			$heku_header.removeClass("header-is-visible  header-fade-out");
		}else if($(window).scrollTop() > 85 ){
			$heku_header.addClass("header-is-visible");
		}
	});
	
	//  搜索框的选择,自动隐藏和退出 #heku_search_info
	let searchToggleStatus = false;
	$(".search-toggle").on("click", function () {
		if (searchToggleStatus === false){
			$("#heku_search_info").addClass("opened");
			$(".search-toggle i").addClass("fa-times");
			searchToggleStatus = true;
		}
		else if (searchToggleStatus === true) {
			$("#heku_search_info").removeClass("opened");
			$(".search-toggle i").removeClass("fa-times");
			searchToggleStatus = false;
		}
	});


	left_category_click($('.sidebar-nav-menu'));
	
	//  侧边分类的选择,自动隐藏和退出 #heku_search_info
/* 	$(".sidebar-nav-menu > li").on("click", function () {
		if ($(this).hasClass("current-menu-item")){
			$(this).removeClass("current-menu-item");
		} else {
			$(".sidebar-nav-menu > li").removeClass("current-menu-item");
			$(this).addClass("current-menu-item");

		}
	}); */

	//wow.js 滚动插件
	if(typeof(WOW)!= "undefined"){
		new WOW().init(); 
	}
	// 手机下拉菜单
	$(".mob-button").click(function () {
		$(".nav-menu").toggle();
	});

});

function left_category_click(t) {
    t && t.on("click", ".icon", function() {
        let t = $(this)
          , e = !!t.hasClass("cur");
        // e ? t.removeClass("cur").parent().next().slideUp() : t.addClass("cur").parent().next().slideDown();
		e ? t.removeClass("cur").parent().parent().removeClass("current-menu-item") : t.addClass("cur").parent().parent().addClass("current-menu-item")
    })
}

$(document).ready(function(){

	var show_num = [];
	if(document.getElementById("canvas")){
		heku_draw(show_num);
		$("#canvas").on('click',function(){
			heku_draw(show_num);
		});
	}
	// 表单提交验证机制(循环验证表单 input标签的 验证条件 并阻断提交按钮事件)
	var forms = document.getElementsByClassName('needs-validation');
	Array.prototype.filter.call(forms, function(form) {
		form.addEventListener('submit', function(event) {
			var val = $(".input-val").val().toLowerCase();
			var num = show_num.join("").toLowerCase();
			if ((form.checkValidity() === true) && (val == num) ) {
				$(".input-val").removeClass('is-invalid').addClass('is-valid');
				if(form.id=='Heku_Form'){
					registPost();
				} 
				event.preventDefault();
			}else{
				if(!(val == num)){
					$(".input-val").addClass('is-invalid');
				}else{
					$(".input-val").removeClass('is-invalid').addClass('is-valid');
				}
				event.preventDefault();
				event.stopPropagation();
			}
			form.classList.add('was-validated');
		}, false);
	});

});

function registPost() {   
	ajaxurl = "/wp-json/contact-form-7/v1/contact-forms/167/feedback";
	data = $("#Heku_Form :input")
	.filter(function(index, element) {
		return $(element).val() != '';
	})
	.serialize();
	var val = $(".input-val").val().toLowerCase();
	input_data = data + "&valid_code=" + val;

	$.ajax({
		url: ajaxurl,
		data: input_data,
		dataType: 'html',
		method: 'POST',
		success: function(serverResponse) {
			//alert(data);
			$('.alert-success').fadeIn(500).delay(1800).fadeOut(1000);
			$('.alert alert-info').fadeIn(500).delay(1800).fadeOut(1000);
			$('.alert alert-warning').fadeIn(500).delay(1800).fadeOut(1000);
			console.log(serverResponse);
			$('#s3_test_results').html(serverResponse);
		},
		error: function(serverResponse) {
			console.log(serverResponse)
			alert('Failed: Please email directly: info@hertzinno.com'+serverResponse.error_msg);
		}
	});
}



function heku_draw(show_num) {
	var canvas_width=110;
	var canvas_height=40;
	var canvas = document.getElementById("canvas");//获取到canvas的对象,演员
	var context = canvas.getContext("2d");//获取到canvas画图的环境,演员表演的舞台
	canvas.width = canvas_width;
	canvas.height = canvas_height;
	var sCode = "a,b,c,d,e,f,g,h,j,k,m,n,p,q,r,s,t,w,x,y,z,A,B,C,E,F,G,H,J,K,M,N,P,R,S,T,W,X,Y,Z,2,3,4,5,6,7,8,9";
	var aCode = sCode.split(",");
	var aLength = aCode.length;//获取到数组的长度
	for (var i = 0; i <= 3; i++) {
		var j = Math.floor(Math.random() * aLength);//获取到随机的索引值
		var deg = Math.random() * 30 * Math.PI / 180;//产生0~30之间的随机弧度
		var txt = aCode[j];//得到随机的一个内容
		show_num[i] = txt.toLowerCase();
		var x = 4 + i * 26;//文字在canvas上的x坐标
		var y = 24 + Math.random() * 8;//文字在canvas上的y坐标
		context.font = randomFont();
		context.translate(x, y);
		context.rotate(deg);
		context.fillStyle = randomColorB();
		context.fillText(txt, 0, 0);
		context.rotate(-deg);
		context.translate(-x, -y);
	}
	for (var i = 0; i <= 5; i++) { //验证码上显示线条
		context.strokeStyle = randomColorL();
		context.beginPath();
		context.moveTo(Math.random() * canvas_width, Math.random() * canvas_height);
		context.lineTo(Math.random() * canvas_width, Math.random() * canvas_height);
		context.stroke();
	}
	for (var i = 0; i <= 80; i++) { //验证码上显示小点
		context.strokeStyle = randomColorL();
		context.beginPath();
		var x = Math.random() * canvas_width;
		var y = Math.random() * canvas_height;
		context.moveTo(x, y);
		context.lineTo(x + 2, y + 2);
		context.stroke();
	}
	for (var i = 0; i <= 80; i++) { //验证码上显示小点
		context.strokeStyle = randomColorL();
		context.beginPath();
		var x = Math.random() * canvas_width;
		var y = Math.random() * canvas_height;
		context.moveTo(x, y);
		context.lineTo(x + 2, y - 2);
		context.stroke();
	}
}
6
function getRandomNumberByRange(start, end) {
	return Math.round(Math.random() * (end - start) + start)
}
function randomFont() {//得到随机的颜色值
	return "bold " + getRandomNumberByRange(20,30) + "px 微软雅黑";
}
function randomColorL() {//得到随机的颜色值
	var r = getRandomNumberByRange(120,255);
	var g = getRandomNumberByRange(120,255);
	var b = getRandomNumberByRange(120,255);
	return "rgb(" + r + "," + g + "," + b + ")";
}
function randomColorB() {//得到随机的颜色值 Black 深色的部分
	var r = getRandomNumberByRange(0,150);
	var g = getRandomNumberByRange(0,150);
	var b = getRandomNumberByRange(0,150);
	return "rgb(" + r + "," + g + "," + b + ")";
}