$(".banner-slider").slick({ speed: 1000, swipe: true, arrows: false, }); $.fn.serializeObject = function () { var o = {}; var a = this.serializeArray(); o["id"] = 0; o["time_stamp"] = ""; $.each(a, function () { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; }; // email $(document).ready(function () { //E-MAIL格式檢查 $("body").on("change", "#email", function () { $Emailchecking = IsEmail($("#email").val()); if ($Emailchecking == false) { alert("請填寫正確的E-MAIL格式"); // $("#email").blur(); //離開焦點 } }) function IsEmail(email) { var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (!regex.test(email)) { return false; } else { return true; } } }); // phone $(document).ready(function () { //phone格式檢查 $("body").on("change", "#phone", function () { $Phonechecking = IsPhone($("#phone").val()); if ($Phonechecking == false) { alert("請填寫正確的手機格式"); // $("#email").blur(); //離開焦點 } }) function IsPhone(phone) { var regex = /^[09]{2}[0-9]{8}$/; if (!regex.test(phone)) { return false; } else { return true; } } }); $(".contact-form1").submit(function (e) { /* var formRef = $('#form1').serializeArray(); var jsonString = JSON.stringify(formRef);*/ var jsonInfo = $('.contact-form1').serializeObject(); var jsonString = JSON.stringify(jsonInfo); console.log(jsonString), $.ajax({ type: 'POST', url: 'https://go.hhh.com.tw:8001/deco_request_detail', data: jsonString, dataType: 'json', success: function (data) { console.log('送出成功: ' + data); if (data == 0) { alert("送出成功"); } else if (data == 1) { alert("此email已填過表單"); } else if (data == 2) { alert("此phone已填過表單"); } else if (data == 3) { alert("此email、phone已填過表單"); } location.reload(); }, beforeSend: function () { console.log('beforeSend'); }, complete: function () { console.log('complete'); }, error: function (jqXHR, textStatus, errorThrown) { console.log(JSON.stringify(jqXHR)); console.log("AJAX errr: " + textStatus + ' : ' + errorThrown); console.log('送出失敗: ' + jqXHR.responseText); } }); return flase; }); $("*").each(function (index, element) { // 此元素被點選後執行 $(this).click(function (e) { // 取得被點選元素的屬性:data-gt-target var target = $(this).attr("data-gt-target"); var duration = $(this).attr("data-gt-duration"); var offset = $(this).attr("data-gt-offset"); // JS 語法:判斷式 // if (條件) {程式區塊} // 當條件成立,會執行程式區塊 // 如果 目標有資料 才會執行 { } 內的程式 // 避免出現 undefine (未定義 - 不存在的資料) if (target) { //console.log("目標:" + target); //console.log("時間:" + duration); //console.log("位移:" + offset); // 上方位置 = 目標區塊.位移().上方位置 var top = $(target).offset().top; //console.log("要前往元素的上方位置:" + top); // 網頁元素.停止().動畫({ 上方捲動:指定元素 - 位移},持續時間) // parseInt() 將文字轉為數字 $("html").stop().animate({ scrollTop: top - offset }, parseInt(duration)); } }); }); // 避免動畫與使用者滾輪衝突 // html 在滾動滾輪時 停止 html 所有效果 $("html").on("mousewheel", function () { $("html").stop(); }); $(document).ready(function () { $("#date").datepicker(); }); // // gototop 下滑效果 $(".arrow").hide(); $(window).scroll(function(){ var y = window.scrollY; if(y>10){ $(".arrow").show(); }else{ $(".arrow").hide(); } }); function statusChangeCallback(response) { console.log('statusChangeCallback'); console.log(response); // The response object is returned with a status field that lets the // app know the current login status of the persopren. // Full docs on the response object can be found in the documentation // for FB.getLoginStatus(). if (response.status === 'connected') { // Logged into your app and Facebook. login(response.authResponse.accessToken); } else if (response.status === 'not_authorized') { // The person is logged into Facebook, but not your app. console.log('The person is logged into Facebook, but not your app'); } else { // The person is not logged into Facebook, so we're not sure if // they are logged into this app or not. console.log("The person is not logged into Facebook"); } } // This function is called when someone finishes with the Login // Button. See the onlogin handler attached to it in the sample // code below. function checkLoginState() { FB.getLoginStatus(function (response) { statusChangeCallback(response); }); } window.fbAsyncInit = function () { FB.init({ appId: '1388696554848391', cookie: true, // enable cookies to allow the server to access // the session xfbml: true, // parse social plugins on this page version: 'v11.0' // use version 2.2 }); }; // Now that we've initialized the JavaScript SDK, we call // FB.getLoginStatus(). This function gets the state of the // person visiting this page and can return one of three states to // the callback you provide. They can be: // // 1. Logged into your app ('connected') // 2. Logged into Facebook, but not your app ('not_authorized') // 3. Not logged into Facebook and can't tell if they are logged into // your app or not. // // These three cases are handled in the callback function. // Load the SDK asynchronously (function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, "script", "facebook-jssdk")); // Here we run a very simple test of the Graph API after login is // successful. See statusChangeCallback() for when this call is made. function loginNEMI(token) { // 把 access_token 傳至後端再做資料拿取 console.log("Welcome! Fetching your information.... "); var xhr = new XMLHttpRequest(); xhr.open("POST", "/login", true); xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { if (JSON.parse(xhr.responseText).status === "ok") location.href = "/index"; else alert("something wrong!"); } }; xhr.send("token=" + token); } // custom fb login button function fb_login() { // FB 第三方登入,要求公開資料與email FB.login(function (response) { statusChangeCallback(response); console.log(response); }, { scope: 'public_profile,email' }); }