防止連續點擊
https://jsbin.com/cowumunufi/
複製裝填 cloneNode複製以及append in:
https://jsbin.com/tovoyociqi/
防止連續點擊
https://jsbin.com/cowumunufi/
複製裝填 cloneNode複製以及append in:
https://jsbin.com/tovoyociqi/
var endDate = new Date(2016, 12, 10, 12, 00).getTime();
相關網址:http://www.unixtimestamp.com/index.php
jQuery多個同時倒數秒的計時器:
沒有值的時候,就是清除掉element的內容
//在html內,給每個funtw-timer-area一個data-end-time的數值, //用each找每個值,然後經過sett()跑過,計算出各別的d、h、m、s, //再把值each丟回給各別的容器內 function sett() { $('.funtw-area-active li .funtw-timer-area').each(function(index, el) { var startDate = new Date().getTime(); //得到毫秒 var endDate = $(this).attr('data-end-time'); var spantime = endDate*1000 - startDate; //用毫秒 - 毫秒 // console.log('spantime', spantime); var second = 1000; var minute = 1000 * 60; var hour = 1000 * 60 * 60; var day = 1000 * 60 * 60 * 24; var d = Math.floor(spantime / day); var h = Math.floor((spantime % day) / hour); var m = Math.floor((spantime % hour) / minute); var s = Math.floor((spantime % minute) / second); $(this).find(".funtw-timer-day").html(d); $(this).find(".funtw-timer-hour").html(h); $(this).find(".funtw-timer-min").html(m); $(this).find(".funtw-timer-sec").html(s); // console.log('s', s); }); } window.onload = function() { setInterval(sett, 1000); sett();//需要先執行一次,避免一開始頓 }
JavaScript多個同時倒數秒的計時器(同寫法只是改成js):
沒有值的時候,就是扣除到目前為止的時間,作為element的內容
function sett() { var countArea = document.querySelectorAll('.funtw-area-active li .funtw-timer-area'); var countLength = countArea.length; var startDate = new Date().getTime(); for(var i=0; i<countLength; i++){ var endDate = countArea[i].getAttribute('data-end-time'); var spanTime = endDate*1000 - startDate; var sec = 1000, min = 1000*60, hour = 1000*60*60, day = 1000*60*60*24; var d = Math.floor(spanTime / day), h = Math.floor((spanTime % day) / hour), m = Math.floor((spanTime % hour) / min), s = Math.floor((spanTime % min) / sec); console.log(s); countArea[i].querySelector('.funtw-timer-day').innerHTML = d; countArea[i].querySelector('.funtw-timer-hour').innerHTML = h; countArea[i].querySelector('.funtw-timer-min').innerHTML = m; countArea[i].querySelector('.funtw-timer-sec').innerHTML = s; } } window.onload = function() { setInterval(sett, 1000); sett(); //需要先執行一次,避免一開始頓 }
這個工具能幫助畫面的code更易辨識,深色底的那種syntax hightlight、以及將js es6轉成es5的功能,文字筆記下安裝方式:
打開Chrome瀏覽器 > 搜尋「DevTools Theme: Zero Dark Matrix」並新增到功能 >
開啟「開發人員工具」 > Settings > General > Theme選擇Dark > 在網址列輸入「chrome://flags」並搜尋 > 開啟頁面後,再度搜尋「Experiments」並且開啟,然後立即重新啟動Chrome這個瀏覽器
再度重啟瀏覽器後 > setting 「Experiments」 > AllowCustome UI themes 打勾
完成。
由於公司活動專案的關係,發現投票十個女生,在html上各別點擊十個dom,都彈出一樣的popup,差別在於裡面的文字資料、連結資料、照片不同。
因為被推薦了這個套件,筆記。
http://olado.github.io/doT/index.html
額外的工作筆記:
—
這次專案內使用了一個名為swiper的套件,這個slide套件的好處在於RWD網站的呈現跟touch都幫你作好了(置中需要自己另外寫),但是當其中每個slide內需達到其他目的時,最左邊(整串slide最後一個),內部的function使用bind click卻失效了,查詢之後才發現,如果使用on,並且從$(document)開始,並且過濾並且找到指定元素,再執行該function:
$(document).on(‘click’, 指定元素, function name);
需求:
當hover文字時,圖片漂浮在上面,卻不佔空間。
https://jsbin.com/palizicuze/edit?html,css,output
其實兩者使用原意不同。
1s = 1000;
setInterval 是每隔一段時間跑一次function。寫法如下:
setInterval(myFunc, 1000);
setTimeout 是只執行一次。寫法如下:
setTimeout(myFunc, 1000);
原來的setInterval:
function myFunc(){ alert(123); } setInterval(myFunc, 1000);
但是依據使用方式不同,setTimeout也可以如同setInterval一樣間隔跑一次,
作法如下:
myFunc(); function myFunc(){ alert(123); setTimeout(myFunc, 1000); //這樣每秒都會跳一次alert 123 }