原生javascript中,用cssText如何重寫(xiě)內(nèi)聯(lián)css
注意:前面的分號(hào)是為了兼容ie,加號(hào)是為了不清除已有的內(nèi)聯(lián)樣式
代碼:
Element.style.cssText += ";width:100px;height:100px;top:100px;left:100px;"
自定義一個(gè)方法來(lái)實(shí)現(xiàn)追加className的效果代碼如下
代碼:
function addClass(element,value) { if (!element.className) { element.className = value; } else { newClassName = element.className; newClassName += " "; //這句代碼將追加的類(lèi)名分開(kāi) newClassName += value; element.className = newClassName; } }
跨瀏覽器事件處理程序
代碼:
var EventUtil = { addHandlers: function (element, type, handlers) { if (element.addEventListener) { // Chrome、FireFox、Opera、Safari、IE9.0及其以上版本 element.addEventListener(type, handlers, false); } else if (element.attachEvent) { // IE8.0及其以下版本 element.attachEvent("on" + type, handlers); } else { // 早期瀏覽器 element["on" + type] = handlers; } }, removeHandlers: function (element, type, handlers) { if (element.removeEventListener) { element.removeEventListener(type, handlers, false); } else if (element.detachEvent) { element.detachEvent("on" + type, handlers); } else { element["on" + type] = null; } } };
點(diǎn)擊某一個(gè) Li 標(biāo)簽時(shí),將 Li 的背景色顯示在 P 標(biāo)簽內(nèi),并將 P 標(biāo)簽中的文字顏色設(shè)置成 Li 的背景色
代碼:
setInterval
參考:https://www.cnblogs.com/evere...
setInterval("fun()",1000); 這句如果寫(xiě)在window.onload的內(nèi)部,會(huì)報(bào)錯(cuò)
原因:這種調(diào)用fun的寫(xiě)法類(lèi)似eval語(yǔ)句,是將引號(hào)內(nèi)的代碼進(jìn)行處理執(zhí)行。這時(shí)候,是在全局作用域內(nèi)找fun()函數(shù),但是window.onload對(duì)于window來(lái)說(shuō)屬于局部,局部外是找不到局部?jī)?nèi)的fun()函數(shù)的。
分別使用 setTimeout 和 setInterval 實(shí)現(xiàn)以下功能:
點(diǎn)擊按鈕時(shí),開(kāi)始改變 fade-obj 的透明度,開(kāi)始一個(gè)淡出(逐漸消失)動(dòng)畫(huà),直到透明度為0
在動(dòng)畫(huà)過(guò)程中,按鈕的狀態(tài)變?yōu)椴豢牲c(diǎn)擊
在動(dòng)畫(huà)結(jié)束后,按鈕狀態(tài)恢復(fù),且文字變成“淡入”
在 按鈕顯示 淡入 的狀態(tài)時(shí),點(diǎn)擊按鈕,開(kāi)始一個(gè)“淡入”(逐漸出現(xiàn))的動(dòng)畫(huà),和上面類(lèi)似按鈕不可點(diǎn),直到透明度完全不透明
淡入動(dòng)畫(huà)結(jié)束后,按鈕文字變?yōu)椤暗觥?br>暫時(shí)不要使用 CSS animation (以后我們?cè)賹W(xué)習(xí))
思路:setTimeout方式的關(guān)鍵點(diǎn)是遞歸,每次遞歸都會(huì)將透明度修改1/10的程度,透明度走到底,遞歸就返回空值來(lái)結(jié)束這個(gè)過(guò)程。總共兩個(gè)方法,淡入一個(gè),淡出一個(gè),每個(gè)方法都有遞歸。
代碼(setTimeout方式):
var fadeObj = document.querySelector("#fade-obj"); var o = 1; var fadeBtn = document.querySelector("#fade-btn"); function cha(){ if(o < 0){ console.log(o); fadeBtn.removeAttribute("disabled"); fadeBtn.textContent = "淡入"; return; } o -= 0.1; fadeObj.style.opacity = o; setTimeout(cha,100); } function cha2(){ if(o > 1){ console.log(o); fadeBtn.removeAttribute("disabled"); fadeBtn.textContent = "淡出"; return; } o += 0.1; fadeObj.style.opacity = o; setTimeout(cha2,100); } fadeBtn.onclick = function(){ if(fadeBtn.textContent == "淡出"){ setTimeout(cha,100); fadeBtn.setAttribute("disabled","disabled"); }else{ setTimeout(cha2,100); fadeBtn.setAttribute("disabled","disabled"); } }
學(xué)習(xí)來(lái)實(shí)現(xiàn)一個(gè)幀動(dòng)畫(huà):
基于一個(gè)我們提供的圖片,實(shí)現(xiàn) IFE2016中Erik笑容的動(dòng)畫(huà)
圖片地址:http://ife.baidu.com/2016/sta...
注意,依然不要使用 CSS animation,因?yàn)槲覀冞@里要學(xué)習(xí)的是使用 JavaScript 來(lái)操作 CSS,而不是為了完成這個(gè)任務(wù)。
思路:分正方向和反方向。用定時(shí)器不斷執(zhí)行,每執(zhí)行一次,就將整體圖片向某個(gè)方向移動(dòng)一張圖的位置,同時(shí)將這個(gè)移動(dòng)的位置對(duì)應(yīng)的數(shù)字來(lái)修改背景圖的縱坐標(biāo)就可以了。
代碼:
IFE ECMAScript
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/105954.html
摘要:本文章用于記錄百度前端技術(shù)學(xué)院的任務(wù)難點(diǎn)。十進(jìn)制轉(zhuǎn)二進(jìn)制。第二步將這個(gè)數(shù)字轉(zhuǎn)換成字符串,分割成數(shù)組,每一項(xiàng)都是數(shù)字的某一位上的數(shù),再用判斷這個(gè)數(shù)組是否包含為的元素即可,是則打印。代碼判斷一個(gè)數(shù)組是否包含一個(gè)指定的值,如果存在返回,否則返回 本文章用于記錄百度前端技術(shù)學(xué)院的任務(wù)難點(diǎn)。 十進(jìn)制轉(zhuǎn)二進(jìn)制。核心思路:在while循環(huán)中,將十進(jìn)制數(shù)字除以2,同時(shí)將除以2的余數(shù)一次次記錄下來(lái),而每...
摘要:在做百度的任務(wù),沒(méi)能組隊(duì)成功只好自己做,如果現(xiàn)在還有收人的請(qǐng)務(wù)必帶上我哦。因?yàn)槊撾x標(biāo)準(zhǔn)文檔流,父元素?zé)o法自適應(yīng)高度。問(wèn)題能不能在不改變結(jié)構(gòu)的情況下僅憑達(dá)到列式中間居中自適應(yīng)寬度的效果 在做百度ife的任務(wù),沒(méi)能組隊(duì)成功只好自己做,如果現(xiàn)在還有收人的請(qǐng)務(wù)必帶上我哦。 task3作業(yè)地址:https://github.com/emonki/BaiduIfe/tree/...*demo還不會(huì)...
任務(wù)描述 參考以下示例代碼,補(bǔ)充其中的JavaScript功能,完成一個(gè)JavaScript代碼的編寫(xiě)本任務(wù)完成的功能為:用戶(hù)可以在輸入框中輸入任何內(nèi)容,點(diǎn)擊確認(rèn)填寫(xiě)按鈕后,用戶(hù)輸入的內(nèi)容會(huì)顯在您輸入的值是文字的右邊 IFE JavaScript Task 01 請(qǐng)輸入北京今天空氣質(zhì)量: 確認(rèn)填寫(xiě) 您輸入的值是:尚無(wú)錄入 (function...
摘要:任務(wù)描述參考以下示例代碼,頁(yè)面加載后,將提供的空氣質(zhì)量數(shù)據(jù)數(shù)組,按照某種邏輯比如空氣質(zhì)量大于進(jìn)行過(guò)濾篩選,最后將符合條件的數(shù)據(jù)按照一定的格式要求顯示在網(wǎng)頁(yè)上污染城市列表第一名福州樣例,第二名福州樣例,北京上海福州廣州成都西安在注 任務(wù)描述 參考以下示例代碼,頁(yè)面加載后,將提供的空氣質(zhì)量數(shù)據(jù)數(shù)組,按照某種邏輯(比如空氣質(zhì)量大于60)進(jìn)行過(guò)濾篩選,最后將符合條件的數(shù)據(jù)按照一定的格式要求顯示...
摘要:向已被訪(fǎng)問(wèn)的鏈接添加樣式。讓背景圖片大小水平方向擴(kuò)大一倍,這樣才有移動(dòng)與變化的空間。不足及改進(jìn)總結(jié)來(lái)看,自己做得不夠,雖然也花了時(shí)間,不過(guò)能看出有敷衍的成分在。 一、前言 百度的前端技術(shù)學(xué)院IFE,2016年就聽(tīng)說(shuō)了,當(dāng)時(shí)自己也報(bào)名,還組成隊(duì)伍了,不過(guò)自己一個(gè)任務(wù)也沒(méi)完成就結(jié)束了,遺憾... 關(guān)注了IFE,知道2017年2月有新的一期培訓(xùn),于是一直在等著報(bào)名,然后開(kāi)始做里面發(fā)布的任務(wù)(...
閱讀 2803·2023-04-25 23:08
閱讀 1591·2021-11-23 09:51
閱讀 1570·2021-10-27 14:18
閱讀 3123·2019-08-29 13:25
閱讀 2838·2019-08-29 13:14
閱讀 2907·2019-08-26 18:36
閱讀 2197·2019-08-26 12:11
閱讀 819·2019-08-26 11:29