-
本節(jié)課的出發(fā)點(diǎn): 左右按鈕切換時(shí),進(jìn)入上一月,或者下一月。 初始化的時(shí)候,給按鈕綁定事件。但這種情況,是在組件初始化的時(shí)候才有效,事件只綁定了一次;但頁面渲染之后,內(nèi)容里是根據(jù)按鈕再重新渲染的,我們的按鈕也是感覺HTML字符串再重新渲染的,因此就會(huì)有按鈕不斷的銷毀與重建。查看全部
-
日期組件的絕對定位: 目標(biāo)是希望它出現(xiàn)在輸入框的下方,所以就要先找到輸入框目前在頁面的哪個(gè)位置呢: var left = $input.offsetLeft; var top = $input.offsetTop; var height = $input.offsetHeight; $wrapper.style.top = top + height + 9 +'px'; $wrapper.style.left = left + 'px';查看全部
-
元素的顯示與隱藏: 方式很多樣;最通用是通過class來控制,默認(rèn)是隱藏,除非多了一個(gè) block 的樣式,后者覆蓋前者,wrapper就才顯示出來。 .classList.remove 與 .classList.add 的 使用。 isOpen 布爾值 來記錄當(dāng)前是關(guān)閉狀態(tài)還是展開狀態(tài)。查看全部
-
優(yōu)化著手點(diǎn)有兩方面: 1.當(dāng)用戶點(diǎn)擊輸入框的時(shí)候,日期組件才可以顯示,不能一打開頁面,它就在,太不友好了; 2.目前的日期組件的主題結(jié)構(gòu) wrapper header body是占據(jù)文檔流的,如果頁面里還有其他的內(nèi)容,會(huì)因日期的出行,下移的,因此將其樣式改為絕對定位。查看全部
-
(function(){ window.datepicker = { getMonth: function (year,month){ var today = new Date(); if(!year||!month){ year=today.getFullYear(); month=today.getMonth()+1 } var firstDay = new Date(year,month-1,1);//這個(gè)月的一天 var firstDayWeek = firstDay.getDay();//第一天是星期幾 var day=today.getDate();//當(dāng)前是幾號(hào) var numOfDays=new Date(year,month,0).getDate();//這個(gè)月的天數(shù) var dayList=[];//這個(gè)月所有的日子 for(var i=1;i<=numOfDays;i++){ dayList.push(i); } return { firstDay:firstDay, firstDayWeek:firstDayWeek, year:year, month:month, day:day, numOfDays:numOfDays, dayList:dayList }; } }; })();查看全部
-
組件開發(fā)流程查看全部
-
真的很不錯(cuò)呢查看全部
-
data-*是一個(gè)比較新的API,老的瀏覽器不能使用。*是要替換成自己命名的字符。 為一個(gè)標(biāo)簽添加一個(gè)此屬性后,js取值的時(shí)候是:target.dataset.d; target:添加此屬性的標(biāo)簽對象 dataset:固定寫法 d:添加的屬性名的后半部分,即data-*中“-”后自己命名的字符。查看全部
-
日期對象查看全部
-
每個(gè)月最后一天不確定查看全部
-
getDay()獲取當(dāng)前日期是周幾查看全部
-
日期對象查看全部
-
日期對象查看全部
-
在main.js中的第83行,if語句使用break會(huì)報(bào)錯(cuò),顯示為不合法使用break,是怎么回事查看全部
-
月份天查看全部
舉報(bào)
0/150
提交
取消