goto.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. $(".banner-slider").slick({
  2. speed: 800,
  3. swipe: true,
  4. arrows: false,
  5. autoplay: true,
  6. });
  7. // // gototop 下滑效果
  8. $(".arrow").hide();
  9. $(window).scroll(function () {
  10. var y = window.scrollY;
  11. if (y > 10) {
  12. $(".arrow").show();
  13. } else {
  14. $(".arrow").hide();
  15. }
  16. });
  17. $(".content1-right").slick({
  18. dotsClass: 'slick-dots',
  19. dots: true,
  20. speed: 1000,
  21. arrows: false,
  22. autoplay: true,
  23. });
  24. // content輪播圖片偵測效果
  25. $(".text-1").addClass("contant-toggle");
  26. $(".content1-right").on('beforeChange', function (event, slick, currentSlide, nextSlide) {
  27. console.log('beforeChangeEvent: currenSlide=' + currentSlide + ', nextSlide= ' + nextSlide);
  28. if (nextSlide == 1) {
  29. $(".text-1").removeClass("contant-toggle");
  30. $(".text-2").addClass("contant-toggle");
  31. $(".text-3").removeClass("contant-toggle");
  32. } else if (nextSlide == 2) {
  33. $(".text-2").removeClass("contant-toggle");
  34. $(".text-1").removeClass("contant-toggle");
  35. $(".text-3").addClass("contant-toggle");
  36. } else if (nextSlide == 0) {
  37. $(".text-2").removeClass("contant-toggle");
  38. $(".text-1").addClass("contant-toggle");
  39. $(".text-3").removeClass("contant-toggle");
  40. }
  41. });
  42. // $( ".text2" ).hover( function() {
  43. // $(".content1-right").slick('slickGoTo',1);
  44. // });
  45. // $( ".text1" ).hover( function() {
  46. // $(".content1-right").slick('slickGoTo',0);
  47. // });
  48. // $( ".text3" ).hover( function() {
  49. // $(".content1-right").slick('slickGoTo',2);
  50. // });
  51. // $( ".text-2" ).hover( function() {
  52. // $(".content1-right").slick('slickGoTo',1);
  53. // });
  54. // $( ".text-1" ).hover( function() {
  55. // $(".content1-right").slick('slickGoTo',0);
  56. // });
  57. // $( ".text-3" ).hover( function() {
  58. // $(".content1-right").slick('slickGoTo',2);
  59. // });
  60. // $( ".text-2" ).click( function() {
  61. // $(".content1-right").slick('slickGoTo',1);
  62. // });
  63. // $( ".text-1" ).click( function() {
  64. // $(".content1-right").slick('slickGoTo',0);
  65. // });
  66. // $( ".text-3" ).click( function() {
  67. // $(".content1-right").slick('slickGoTo',2);
  68. // });
  69. $.fn.serializeObject = function () {
  70. var o = {};
  71. var a = this.serializeArray();
  72. o["id"] = 0;
  73. o["time_stamp"] = "";
  74. $.each(a, function () {
  75. if (o[this.name]) {
  76. if (!o[this.name].push) {
  77. o[this.name] = [o[this.name]];
  78. }
  79. o[this.name].push(this.value || '');
  80. } else {
  81. o[this.name] = this.value || '';
  82. }
  83. });
  84. return o;
  85. };
  86. $(".contact-form1").submit(function (e) {
  87. /* var formRef = $('#form1').serializeArray();
  88. var jsonString = JSON.stringify(formRef);*/
  89. var jsonInfo = $('.contact-form1').serializeObject();
  90. var jsonString = JSON.stringify(jsonInfo);
  91. console.log(jsonString);
  92. $.ajax({
  93. type: 'POST',
  94. url: 'https://go.hhh.com.tw:8002/deco_request_detail',
  95. data: jsonString,
  96. dataType: 'json',
  97. success: function (data) {
  98. console.log('送出成功: ' + data);
  99. if (data == 0) {
  100. alert("送出成功");
  101. } else if (data == 1) {
  102. alert("此email已填過表單");
  103. } else if (data == 2) {
  104. alert("此phone已填過表單");
  105. } else if (data == 3) {
  106. alert("此email、phone已填過表單");
  107. }
  108. location.href ="./index_complete_line.html";
  109. },
  110. beforeSend: function () {
  111. console.log('beforeSend');
  112. },
  113. complete: function () {
  114. console.log('complete');
  115. },
  116. error: function (jqXHR, textStatus, errorThrown) {
  117. console.log(JSON.stringify(jqXHR));
  118. console.log("AJAX errr: " + textStatus + ' : ' + errorThrown);
  119. console.log('送出失敗: ' + jqXHR.responseText);
  120. alert("送出失敗");
  121. }
  122. });
  123. return false;
  124. });
  125. $("*").each(function (index, element) {
  126. // 此元素被點選後執行
  127. $(this).click(function (e) {
  128. // 取得被點選元素的屬性:data-gt-target
  129. var target = $(this).attr("data-gt-target");
  130. var duration = $(this).attr("data-gt-duration");
  131. var offset = $(this).attr("data-gt-offset");
  132. // JS 語法:判斷式
  133. // if (條件) {程式區塊}
  134. // 當條件成立,會執行程式區塊
  135. // 如果 目標有資料 才會執行 { } 內的程式
  136. // 避免出現 undefine (未定義 - 不存在的資料)
  137. if (target) {
  138. //console.log("目標:" + target);
  139. //console.log("時間:" + duration);
  140. //console.log("位移:" + offset);
  141. // 上方位置 = 目標區塊.位移().上方位置
  142. var top = $(target).offset().top;
  143. //console.log("要前往元素的上方位置:" + top);
  144. // 網頁元素.停止().動畫({ 上方捲動:指定元素 - 位移},持續時間)
  145. // parseInt() 將文字轉為數字
  146. $("html").stop().animate({
  147. scrollTop: top - offset
  148. }, parseInt(duration));
  149. }
  150. });
  151. });
  152. // 避免動畫與使用者滾輪衝突
  153. // html 在滾動滾輪時 停止 html 所有效果
  154. $("html").on("mousewheel", function () {
  155. $("html").stop();
  156. });
  157. $(document).ready(function () {
  158. $("#date").datepicker();
  159. });
  160. window.fbAsyncInit = function () {
  161. FB.init({
  162. appId: '1388696554848391', // 填入 FB APP ID
  163. cookie: true,
  164. xfbml: true,
  165. version: 'v11.0'
  166. });
  167. FB.getLoginStatus(function (response) {
  168. statusChangeCallback(response);
  169. });
  170. };
  171. // 處理各種登入身份
  172. function statusChangeCallback(response) {
  173. console.log(response);
  174. var target = document.getElementById("FB_STATUS_2"),
  175. html = "";
  176. // 登入 FB 且已加入會員
  177. if (response.status === 'connected') {
  178. html = "已登入 FB,並加入 WFU BLOG DEMO 應用程式<br/>";
  179. FB.api('/me?fields=id,name,email', function (response) {
  180. console.log('FB API回傳資料: ' + JSON.stringify(response));
  181. if (response.id) {
  182. // 設定欄位預設值
  183. document.getElementById("email").value = response.email;
  184. document.getElementById("name").value = response.name;
  185. // 隱藏FB登入按鈕
  186. document.getElementById("fb_login").style.display = 'none';
  187. }
  188. });
  189. }
  190. // 登入 FB, 未偵測到加入會員
  191. // else if (response.status === "not_authorized") {
  192. // target.innerHTML = "已登入 FB,但未加入 WFU BLOG DEMO 應用程式";
  193. // }
  194. // 未登入 FB
  195. // else {
  196. // target.innerHTML = "未登入 FB";
  197. // }
  198. }
  199. // 點擊登入
  200. $("#fb_login").click(function () {
  201. // 進行登入程序
  202. FB.login(function (response) {
  203. statusChangeCallback(response);
  204. }, {
  205. scope: 'public_profile,email'
  206. },
  207. );
  208. });
  209. // 點擊登出
  210. // $("#FB_logout").click(function() {
  211. // FB.logout(function(response) {
  212. // statusChangeCallback(response);
  213. // });
  214. // });
  215. // 載入 FB SDK
  216. (function (d, s, id) {
  217. var js, fjs = d.getElementsByTagName(s)[0];
  218. if (d.getElementById(id)) return;
  219. js = d.createElement(s);
  220. js.id = id;
  221. js.src = "https://connect.facebook.net/zh_TW/sdk.js";
  222. fjs.parentNode.insertBefore(js, fjs);
  223. }(document, 'script', 'facebook-jssdk'));
  224. $(function() {
  225. var dateToday = new Date();
  226. //jQuery datepicker 設定限制日期最小最大 minDate maxDate hideIfNoPrevNext
  227. $(".datepicker").datepicker({
  228. //顯示上個月日期 及下個月日期 ,但是不可選的。
  229. //default:false
  230. showOtherMonths : true,
  231. // 設置當沒有上一個/下一個可選擇的情況下,隱藏掉相應的按鈕。(默認為不可用)
  232. //配合有設定最大最小時使用
  233. //default:false
  234. hideIfNoPrevNext : true,
  235. minDate : dateToday ,
  236. // 設置一個最大的可選日期。可以是Date對象,或者是數字(從今天算起,例如+7),
  237. //或者有效的字符串('y'代表年, 'm'代表月, 'w'代表周, 'd'代表日, 例如:'+1m +7d')。
  238. });
  239. });