goto.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451
  1. // menu彈跳視窗
  2. $("#menu-box2").hide();
  3. $("#menu-box").hide();
  4. $("#menu-btn1").click(function () {
  5. $("#menu-box").slideToggle("slow");
  6. $("#menu-box2").slideToggle("slow");
  7. });
  8. $(".link").click(function () {
  9. $("#menu-box").slideUp("slow", function () {
  10. $("#menu-box2").slideUp("slow");
  11. // Animation complete.
  12. });
  13. });
  14. $(".feedback-slider1").slick({
  15. dots: true,
  16. dotsClass: 'slick-dots',
  17. speed: 1000,
  18. swipe: true,
  19. arrows: false,
  20. });
  21. $(".banner-slider").slick({
  22. dots: true,
  23. dotsClass: 'slick-dots',
  24. speed: 1000,
  25. autoplay: true,
  26. });
  27. // $.fn.serializeObject = function () {
  28. // var o = {};
  29. // var a = this.serializeArray();
  30. // o["id"] = 0;
  31. // o["time_stamp"] = "";
  32. // $.each(a, function () {
  33. // if (o[this.name]) {
  34. // if (!o[this.name].push) {
  35. // o[this.name] = [o[this.name]];
  36. // }
  37. // o[this.name].push(this.value || '');
  38. // } else {
  39. // o[this.name] = this.value || '';
  40. // }
  41. // });
  42. // return o;
  43. // };
  44. // $(".contact-form1").submit(function (e) {
  45. // /* var formRef = $('#form1').serializeArray();
  46. // var jsonString = JSON.stringify(formRef);*/
  47. // var jsonInfo = $('.contact-form1').serializeObject();
  48. // var jsonString = JSON.stringify(jsonInfo);
  49. // console.log(jsonString);
  50. // if ($('#credit').prop("checked")) {
  51. // $.ajax({
  52. // type: 'POST',
  53. // url: 'https://api.ptt.cx:9999/hhh/mail/deco/v2',
  54. // data: jsonString,
  55. // dataType: 'json',
  56. // contentType: 'application/json; charset=utf-8',
  57. // success: function (res) {
  58. // alert('送出成功');
  59. // },
  60. // error: function (error) {
  61. // console.error(error);
  62. // alert('送出失敗');
  63. // }
  64. // });
  65. // $.ajax({
  66. // type: 'POST',
  67. // url: 'https://go.hhh.com.tw:8002/deco_request_detail',
  68. // data: jsonString,
  69. // dataType: 'json',
  70. // // async: false,
  71. // success: function (data) {
  72. // console.log('送出成功: ' + data);
  73. // if (data == 0) {
  74. // alert("送出成功");
  75. // } else if (data == 1) {
  76. // alert("此email已填過表單");
  77. // } else if (data == 2) {
  78. // alert("此phone已填過表單");
  79. // } else if (data == 3) {
  80. // alert("此email、phone已填過表單");
  81. // }
  82. // location.href ="./index_complete_line.html";
  83. // },
  84. // beforeSend: function () {
  85. // console.log('beforeSend');
  86. // },
  87. // complete: function () {
  88. // console.log('complete');
  89. // },
  90. // error: function (jqXHR, textStatus, errorThrown) {
  91. // console.log(JSON.stringify(jqXHR));
  92. // console.log("AJAX errr: " + textStatus + ' : ' + errorThrown);
  93. // console.log('送出失敗: ' + jqXHR.responseText);
  94. // }
  95. // });
  96. // }
  97. // else{
  98. // $.ajax({
  99. // type: 'POST',
  100. // url: 'https://go.hhh.com.tw:8002/deco_request_detail',
  101. // data: jsonString,
  102. // dataType: 'json',
  103. // // async: false,
  104. // success: function (data) {
  105. // console.log('送出成功: ' + data);
  106. // if (data == 0) {
  107. // alert("送出成功");
  108. // } else if (data == 1) {
  109. // alert("此email已填過表單");
  110. // } else if (data == 2) {
  111. // alert("此phone已填過表單");
  112. // } else if (data == 3) {
  113. // alert("此email、phone已填過表單");
  114. // }
  115. // location.href ="./index_complete_line.html";
  116. // },
  117. // beforeSend: function () {
  118. // console.log('beforeSend');
  119. // },
  120. // complete: function () {
  121. // console.log('complete');
  122. // },
  123. // error: function (jqXHR, textStatus, errorThrown) {
  124. // console.log(JSON.stringify(jqXHR));
  125. // console.log("AJAX errr: " + textStatus + ' : ' + errorThrown);
  126. // console.log('送出失敗: ' + jqXHR.responseText);
  127. // }
  128. // });
  129. // }
  130. // // if ($('#credit').prop("checked")) {
  131. // // $.ajax({
  132. // // type: 'POST',
  133. // // url: 'https://api.ptt.cx:9999/hhh/mail/deco/v2',
  134. // // data: jsonString,
  135. // // dataType: 'json',
  136. // // contentType: 'application/json; charset=utf-8',
  137. // // success: function (res) {
  138. // // alert('送出成功');
  139. // // },
  140. // // error: function (error) {
  141. // // console.error(error);
  142. // // alert('送出失敗');
  143. // // }
  144. // // });
  145. // // }
  146. // return false;
  147. // });
  148. var emailPattern = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  149. function submit() {
  150. // let loc = $("#loc option:selected").text();
  151. let loc = $("#loc").val();
  152. let h_class = $("#h_class").val();
  153. let size = $("#size").val();
  154. let name = $("#name").val();
  155. let email = $("#email").val();
  156. let phone = $("#phone").val();
  157. let version = $("#version").val();
  158. if (email == null) {
  159. alert('請填寫email');
  160. return;
  161. }else if(!emailPattern.test(email)){
  162. alert('請填寫正確的email格式');
  163. return;
  164. };
  165. if (name == "") {
  166. alert('請填寫姓名');
  167. return;
  168. };
  169. if (phone == "") {
  170. alert('請填寫連絡電話');
  171. return;
  172. } else if(!/^[09]{2}[0-9]{8}$/.test(phone)){
  173. alert('請填寫正確的手機格式');
  174. return;
  175. };
  176. if (loc == null) {
  177. alert('請填寫所在區域');
  178. return;
  179. };
  180. if (h_class == null) {
  181. alert('請填寫房屋類型');
  182. return;
  183. };
  184. if (size == null) {
  185. alert('請填寫房屋實際坪數');
  186. return;
  187. };
  188. let formdata = '';
  189. formdata = '{"email": "' + email + '",'
  190. formdata += '"name": "' + name + '",'
  191. formdata += '"phone": "' + phone + '",'
  192. formdata += '"loc": "' + loc + '",'
  193. formdata += '"h_class": "' + h_class + '",'
  194. formdata += '"version": "' + version + '",'
  195. formdata += '"id": "' + 0 + '",'
  196. formdata += '"time_stamp": "' + 0 + '",'
  197. formdata += '"size": "' + size + '"}';
  198. console.log(formdata);
  199. $('#submitbutton').text('表單送出中,請稍後');
  200. $.ajax({
  201. type: 'POST',
  202. url: 'https://go.hhh.com.tw:8002/deco_request_detail',
  203. data: formdata,
  204. dataType: 'json',
  205. // async: false,
  206. success: function (data) {
  207. console.log('送出成功: ' + data);
  208. if (data == 0) {
  209. if ($('#credit').prop("checked")) {
  210. $.ajax({
  211. type: 'POST',
  212. url: 'https://api.ptt.cx:9999/hhh/mail/deco/v2',
  213. data: formdata,
  214. dataType: 'json',
  215. contentType: 'application/json; charset=utf-8',
  216. async: false,
  217. success: function (res) {
  218. console.log('送出成功');
  219. },
  220. error: function (error) {
  221. console.error(error);
  222. console.log('送出失敗');
  223. }
  224. });
  225. }
  226. // alert("送出成功");
  227. } else if (data == 1) {
  228. alert("此email已填過表單");
  229. } else if (data == 2) {
  230. alert("此phone已填過表單");
  231. } else if (data == 3) {
  232. alert("此email、phone已填過表單");
  233. }
  234. location.href = "./index_complete_line.html";
  235. },
  236. beforeSend: function () {
  237. console.log('beforeSend');
  238. },
  239. complete: function () {
  240. console.log('complete');
  241. },
  242. error: function (jqXHR, textStatus, errorThrown) {
  243. console.log(JSON.stringify(jqXHR));
  244. console.log("AJAX errr: " + textStatus + ' : ' + errorThrown);
  245. console.log('送出失敗: ' + jqXHR.responseText);
  246. alert("送出失敗");
  247. }
  248. });
  249. return false;
  250. }
  251. $("*").each(function (index, element) {
  252. // 此元素被點選後執行
  253. $(this).click(function (e) {
  254. // 取得被點選元素的屬性:data-gt-target
  255. var target = $(this).attr("data-gt-target");
  256. var duration = $(this).attr("data-gt-duration");
  257. var offset = $(this).attr("data-gt-offset");
  258. // JS 語法:判斷式
  259. // if (條件) {程式區塊}
  260. // 當條件成立,會執行程式區塊
  261. // 如果 目標有資料 才會執行 { } 內的程式
  262. // 避免出現 undefine (未定義 - 不存在的資料)
  263. if (target) {
  264. //console.log("目標:" + target);
  265. //console.log("時間:" + duration);
  266. //console.log("位移:" + offset);
  267. // 上方位置 = 目標區塊.位移().上方位置
  268. var top = $(target).offset().top;
  269. //console.log("要前往元素的上方位置:" + top);
  270. // 網頁元素.停止().動畫({ 上方捲動:指定元素 - 位移},持續時間)
  271. // parseInt() 將文字轉為數字
  272. $("html").stop().animate({
  273. scrollTop: top - offset
  274. }, parseInt(duration));
  275. }
  276. });
  277. });
  278. // 避免動畫與使用者滾輪衝突
  279. // html 在滾動滾輪時 停止 html 所有效果
  280. $("html").on("mousewheel", function () {
  281. $("html").stop();
  282. });
  283. $(document).ready(function () {
  284. $("#date").datepicker();
  285. });
  286. // // gototop 下滑效果
  287. $(".arrow").hide();
  288. $(window).scroll(function () {
  289. var y = window.scrollY;
  290. if (y > 10) {
  291. $(".arrow").show();
  292. } else {
  293. $(".arrow").hide();
  294. }
  295. });
  296. window.fbAsyncInit = function () {
  297. FB.init({
  298. appId: '1388696554848391', // 填入 FB APP ID
  299. cookie: true,
  300. xfbml: true,
  301. version: 'v11.0'
  302. });
  303. FB.getLoginStatus(function (response) {
  304. statusChangeCallback(response);
  305. });
  306. };
  307. // 處理各種登入身份
  308. function statusChangeCallback(response) {
  309. console.log(response);
  310. var target = document.getElementById("FB_STATUS_2"),
  311. html = "";
  312. // 登入 FB 且已加入會員
  313. if (response.status === 'connected') {
  314. html = "已登入 FB,並加入 WFU BLOG DEMO 應用程式<br/>";
  315. FB.api('/me?fields=id,name,email', function (response) {
  316. console.log('FB API回傳資料: ' + JSON.stringify(response));
  317. if (response.id) {
  318. // 設定欄位預設值
  319. document.getElementById("email").value = response.email;
  320. document.getElementById("name").value = response.name;
  321. // 隱藏FB登入按鈕
  322. document.getElementById("fb_login").style.display = 'none';
  323. }
  324. });
  325. }
  326. // 登入 FB, 未偵測到加入會員
  327. // else if (response.status === "not_authorized") {
  328. // target.innerHTML = "已登入 FB,但未加入 WFU BLOG DEMO 應用程式";
  329. // }
  330. // 未登入 FB
  331. // else {
  332. // target.innerHTML = "未登入 FB";
  333. // }
  334. }
  335. // 點擊登入
  336. $("#fb_login").click(function () {
  337. // 進行登入程序
  338. FB.login(function (response) {
  339. statusChangeCallback(response);
  340. }, {
  341. scope: 'public_profile,email'
  342. },
  343. );
  344. });
  345. // 點擊登出
  346. // $("#FB_logout").click(function() {
  347. // FB.logout(function(response) {
  348. // statusChangeCallback(response);
  349. // });
  350. // });
  351. // 載入 FB SDK
  352. (function (d, s, id) {
  353. var js, fjs = d.getElementsByTagName(s)[0];
  354. if (d.getElementById(id)) return;
  355. js = d.createElement(s);
  356. js.id = id;
  357. js.src = "https://connect.facebook.net/zh_TW/sdk.js";
  358. fjs.parentNode.insertBefore(js, fjs);
  359. }(document, 'script', 'facebook-jssdk'));
  360. $(function () {
  361. var dateToday = new Date();
  362. //jQuery datepicker 設定限制日期最小最大 minDate maxDate hideIfNoPrevNext
  363. $(".datepicker").datepicker({
  364. //顯示上個月日期 及下個月日期 ,但是不可選的。
  365. //default:false
  366. showOtherMonths: true,
  367. // 設置當沒有上一個/下一個可選擇的情況下,隱藏掉相應的按鈕。(默認為不可用)
  368. //配合有設定最大最小時使用
  369. //default:false
  370. hideIfNoPrevNext: true,
  371. minDate: dateToday,
  372. // 設置一個最大的可選日期。可以是Date對象,或者是數字(從今天算起,例如+7),
  373. //或者有效的字符串('y'代表年, 'm'代表月, 'w'代表周, 'd'代表日, 例如:'+1m +7d')。
  374. });
  375. });