中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

新手學(xué)做網(wǎng)站要多久pc網(wǎng)站優(yōu)化排名

新手學(xué)做網(wǎng)站要多久,pc網(wǎng)站優(yōu)化排名,常用的動態(tài)網(wǎng)站開發(fā)平臺,企業(yè)網(wǎng)站發(fā)展趨勢B站鏈接 理論 HTML相關(guān)知識【黑馬程序員前端】 https://blog.csdn.net/m0_48964052/article/details/125951658 CSS相關(guān)知識【黑馬程序員前端】 https://blog.csdn.net/m0_48964052/article/details/125951788 黑馬程序員——JavaScript基礎(chǔ)1(初識 JavaS…

B站鏈接

理論

HTML相關(guān)知識【黑馬程序員前端】

https://blog.csdn.net/m0_48964052/article/details/125951658
在這里插入圖片描述

CSS相關(guān)知識【黑馬程序員前端】

https://blog.csdn.net/m0_48964052/article/details/125951788
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

黑馬程序員——JavaScript基礎(chǔ)1(初識 JavaScript)

https://blog.csdn.net/m0_48964052/article/details/125952056
在這里插入圖片描述

黑馬程序員——JavaScript基礎(chǔ)2(變量與數(shù)據(jù)類型)

https://blog.csdn.net/m0_48964052/article/details/125955339
在這里插入圖片描述
在這里插入圖片描述

黑馬程序員——JavaScript基礎(chǔ)3(JavaScript 運算符)

https://blog.csdn.net/m0_48964052/article/details/125955496、

在這里插入圖片描述

黑馬程序員——JavaScript基礎(chǔ)4(JavaScript 流程控制)

https://blog.csdn.net/m0_48964052/article/details/125956043

在這里插入圖片描述

黑馬程序員——JavaScript基礎(chǔ)5(JavaScript 數(shù)組)

https://blog.csdn.net/m0_48964052/article/details/125956550

在這里插入圖片描述

黑馬程序員——JavaScript基礎(chǔ)6(JavaScript 函數(shù))

https://blog.csdn.net/m0_48964052/article/details/125957550

在這里插入圖片描述

黑馬程序員——JavaScript基礎(chǔ)7(作用域、預(yù)解析、對象)

https://blog.csdn.net/m0_48964052/article/details/125958024

在這里插入圖片描述
在這里插入圖片描述

黑馬程序員——Web API(DOM)

https://blog.csdn.net/m0_48964052/article/details/125962081

在這里插入圖片描述

黑馬程序員——Web API(事件高級)

https://blog.csdn.net/m0_48964052/article/details/125967368
在這里插入圖片描述

黑馬程序員——Web API(BOM)

https://blog.csdn.net/m0_48964052/article/details/125967597
在這里插入圖片描述

***黑馬程序員前端JavaScript高級——ES6學(xué)習(xí)筆記

https://blog.csdn.net/weixin_44566194/article/details/127568441

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

實踐

1.JavaScript基礎(chǔ)資料

JavaScript基礎(chǔ)第五天

06-渲染學(xué)生信息表.html
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>table {width: 600px;text-align: center;}table,th,td {border: 1px solid #ccc;border-collapse: collapse;}caption {font-size: 18px;margin-bottom: 10px;font-weight: 700;}tr {height: 40px;cursor: pointer;}table tr:nth-child(1) {background-color: #ddd;}table tr:not(:first-child):hover {background-color: #eee;}</style>
</head><body><h2>學(xué)生信息</h2><p>將數(shù)據(jù)渲染到頁面中...</p><table><caption>學(xué)生列表</caption><tr><th>序號</th><th>姓名</th><th>年齡</th><th>性別</th><th>家鄉(xiāng)</th></tr><!-- script寫到這里 --><script>// 1. 數(shù)據(jù)準備let students = [{ name: '小明', age: 18, gender: '男', hometown: '河北省' },{ name: '小紅', age: 19, gender: '女', hometown: '河南省' },{ name: '小剛', age: 17, gender: '男', hometown: '山西省' },{ name: '小麗', age: 18, gender: '女', hometown: '山東省' },{ name: '曉強', age: 16, gender: '女', hometown: '藍翔技校' }]// 2. 渲染頁面for (let i = 0; i < students.length; i++) {document.write(`<tr><td>${i + 1}</td><td>${students[i].name}</td><td>${students[i].age}</td><td>${students[i].gender}</td><td>${students[i].hometown}</td></tr>`)}</script></table></body></html>

在這里插入圖片描述

綜合作業(yè)素材
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>學(xué)車在線首頁</title><link rel="stylesheet" href="./css/style.css"><style></style>
</head><body><!-- 4. box核心內(nèi)容區(qū)域開始 --><div class="box w"><div class="box-hd"><h3>精品推薦</h3><a href="#">查看全部</a></div><div class="box-bd"><ul class="clearfix"><!-- <li><a href="#"><img src="images/course01.png" alt=""><h4>Think PHP 5.0 博客系統(tǒng)實戰(zhàn)項目演練</h4><div class="info"><span>高級</span> ? <span>1125</span>人在學(xué)習(xí)</div></a></li> --><script>let data = [{src: 'images/course01.png',title: 'Think PHP 5.0 博客系統(tǒng)實戰(zhàn)項目演練',num: 1125},{src: 'images/course02.png',title: 'Android 網(wǎng)絡(luò)動態(tài)圖片加載實戰(zhàn)',num: 357},{src: 'images/course03.png',title: 'Angular2大前端商城實戰(zhàn)項目演練',num: 22250},{src: 'images/course04.png',title: 'AndroidAPP實戰(zhàn)項目演練',num: 389},{src: 'images/course05.png',title: 'UGUI源碼深度分析案例',num: 124},{src: 'images/course06.png',title: 'Kami2首頁界面切換效果實戰(zhàn)演練',num: 432},{src: 'images/course07.png',title: 'UNITY 從入門到精通實戰(zhàn)案例',num: 888},{src: 'images/course08.png',title: 'Cocos 深度學(xué)習(xí)你不會錯過的實戰(zhàn)',num: 590},{src: 'images/course04.png',title: '自動添加的模塊',num: 1000}]for (let i = 0; i < data.length; i++) {document.write(`<li><a href="#"><img src=${data[i].src} title="${data[i].title}"><h4>${data[i].title}</h4><div class="info"><span>高級</span> ? <span>${data[i].num}</span>人在學(xué)習(xí)</div></a></li>`)}</script></ul></div></div></body></html>

在這里插入圖片描述

2.web APIs資料

web APIs第一天

06-隨機抽獎案例

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>年會抽獎</title><style>.wrapper {width: 840px;height: 420px;background: url(./images/bg01.jpg) no-repeat center / cover;padding: 100px 250px;box-sizing: border-box;}</style>
</head><body><div class="wrapper"><strong>傳智教育年會抽獎</strong><h1>一等獎:<span id="one">???</span></h1><h3>二等獎:<span id="two">???</span></h3><h5>三等獎:<span id="three">???</span></h5></div><script>// 1.聲明數(shù)組const personArr = ['周杰倫', '劉德華', '周星馳', 'Pink老師', '張學(xué)友']// 2. 先做一等獎// 2.1 隨機數(shù) 數(shù)組的下標const random = Math.floor(Math.random() * personArr.length)// console.log(personArr[random])// 2.2 獲取one 元素 const one = document.querySelector('#one')// 2.3 把名字給 oneone.innerHTML = personArr[random]// 2.4 刪除數(shù)組這個名字personArr.splice(random, 1)// console.log(personArr)// 3. 二等獎// 2.1 隨機數(shù) 數(shù)組的下標const random2 = Math.floor(Math.random() * personArr.length)// console.log(personArr[random])// 2.2 獲取one 元素 const two = document.querySelector('#two')// 2.3 把名字給 onetwo.innerHTML = personArr[random2]// 2.4 刪除數(shù)組這個名字personArr.splice(random2, 1)// 4. 三等獎// 2.1 隨機數(shù) 數(shù)組的下標const random3 = Math.floor(Math.random() * personArr.length)// console.log(personArr[random])// 2.2 獲取one 元素 const three = document.querySelector('#three')// 2.3 把名字給 onethree.innerHTML = personArr[random3]// 2.4 刪除數(shù)組這個名字personArr.splice(random3, 1)</script>
</body></html>
09-通過style屬性修改樣式

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 200px;height: 200px;background-color: pink;}</style>
</head><body><div class="box"></div><script>// 1. 獲取元素const box = document.querySelector('.box')//2. 修改樣式屬性 對象.style.樣式屬性 = '值'  別忘了跟單位box.style.width = '300px'// 多組單詞的采取 小駝峰命名法box.style.backgroundColor = 'hotpink'box.style.border = '2px solid blue'box.style.borderTop = '2px solid red'</script>
</body></html>
11-通過類名修改樣式
<body><div class="nav">123</div><script>// 1. 獲取元素const div = document.querySelector('div')// 2.添加類名  class 是個關(guān)鍵字 我們用 classNamediv.className = 'nav box'</script>
</body>
12-通過classList修改樣式

在這里插入圖片描述


<body><div class="box active">文字</div><script>// 通過classList添加// 1. 獲取元素const box = document.querySelector('.box')// 2. 修改樣式// 2.1 追加類 add() 類名不加點,并且是字符串// box.classList.add('active')// 2.2 刪除類  remove() 類名不加點,并且是字符串// box.classList.remove('box')// 2.3 切換類  toggle()  有還是沒有啊, 有就刪掉,沒有就加上box.classList.toggle('active')</script>
</body>
14-修改表單屬性

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><!-- <input type="text" value="電腦"> --><input type="checkbox" name="" id=""><button>點擊</button><script>// 1 獲取元素// const uname = document.querySelector('input')// 2. 獲取值  獲取表單里面的值 用的  表單.value// console.log(uname.value) // 電腦// console.log(uname.innerHTML)  innertHTML 得不到表單的內(nèi)容// 3. 設(shè)置表單的值// uname.value = '我要買電腦'// console.log(uname.type)// uname.type = 'password'// 1. 獲取const ipt = document.querySelector('input')// console.log(ipt.checked)  // false   只接受布爾值ipt.checked = true// ipt.checked = 'true'  // 會選中,不提倡  有隱式轉(zhuǎn)換// 1.獲取const button = document.querySelector('button')// console.log(button.disabled)  // 默認false 不禁用button.disabled = true   // 禁用按鈕</script>
</body></html>
15-自定義屬性

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div data-id="1" data-spm="不知道">1</div><div data-id="2">2</div><div data-id="3">3</div><div data-id="4">4</div><div data-id="5">5</div><script>const one = document.querySelector('div')console.log(one.dataset.id)  // 1console.log(one.dataset.spm)  // 不知道</script>
</body></html>
17-用戶注冊倒計時

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><textarea name="" id="" cols="30" rows="10">用戶注冊協(xié)議歡迎注冊成為京東用戶!在您注冊過程中,您需要完成我們的注冊流程并通過點擊同意的形式在線簽署以下協(xié)議,請您務(wù)必仔細閱讀、充分理解協(xié)議中的條款內(nèi)容后再點擊同意(尤其是以粗體或下劃線標識的條款,因為這些條款可能會明確您應(yīng)履行的義務(wù)或?qū)δ臋?quán)利有所限制)?!菊埬⒁狻咳绻煌庖韵聟f(xié)議全部或任何條款約定,請您停止注冊。您停止注冊后將僅可以瀏覽我們的商品信息但無法享受我們的產(chǎn)品或服務(wù)。如您按照注冊流程提示填寫信息,閱讀并點擊同意上述協(xié)議且完成全部注冊流程后,即表示您已充分閱讀、理解并接受協(xié)議的全部內(nèi)容,并表明您同意我們可以依據(jù)協(xié)議內(nèi)容來處理您的個人信息,并同意我們將您的訂單信息共享給為完成此訂單所必須的第三方合作方(詳情查看</textarea><br><button class="btn" disabled>我已經(jīng)閱讀用戶協(xié)議(5)</button><script>// 1. 獲取元素const btn = document.querySelector('.btn')// console.log(btn.innerHTML)  butto按鈕特殊用innerHTML// 2. 倒計時let i = 5// 2.1 開啟定時器let n = setInterval(function () {i--btn.innerHTML = `我已經(jīng)閱讀用戶協(xié)議(${i})`if (i === 0) {clearInterval(n)  // 關(guān)閉定時器// 定時器停了,我就可以開按鈕btn.disabled = falsebtn.innerHTML = '同意'}}, 1000)</script>
</body></html>

web APIs第二天

03-點擊關(guān)閉.html

在這里插入圖片描述

李偉興 09:31:13
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {position: relative;width: 1000px;height: 200px;background-color: pink;margin: 100px auto;text-align: center;font-size: 50px;line-height: 200px;font-weight: 700;}.box1 {position: absolute;right: 20px;top: 10px;width: 20px;height: 20px;background-color: skyblue;text-align: center;line-height: 20px;font-size: 16px;cursor: pointer;}</style>
</head><body><div class="box">我是廣告<div class="box1">X</div></div><script>// 1. 獲取事件源const box1 = document.querySelector('.box1')//  關(guān)閉的是大盒子const box = document.querySelector('.box')// 2. 事件偵聽box1.addEventListener('click', function () {box.style.display = 'none'})</script>
</body></html>
04-隨機點名案例.html

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}h2 {text-align: center;}.box {width: 600px;margin: 50px auto;display: flex;font-size: 25px;line-height: 40px;}.qs {width: 450px;height: 40px;color: red;}.btns {text-align: center;}.btns button {width: 120px;height: 35px;margin: 0 50px;}</style>
</head><body><h2>隨機點名</h2><div class="box"><span>名字是:</span><div class="qs">這里顯示姓名</div></div><div class="btns"><button class="start">開始</button><button class="end">結(jié)束</button></div><script>// 數(shù)據(jù)數(shù)組const arr = ['馬超', '黃忠', '趙云', '關(guān)羽', '張飛']// 定時器的全局變量let timerId = 0// 隨機號要全局變量let random = 0// 業(yè)務(wù)1.開始按鈕模塊const qs = document.querySelector('.qs')// 1.1 獲取開始按鈕對象const start = document.querySelector('.start')// 1.2 添加點擊事件start.addEventListener('click', function () {timerId = setInterval(function () {// 隨機數(shù)random = parseInt(Math.random() * arr.length)// console.log(arr[random])qs.innerHTML = arr[random]}, 35)// 如果數(shù)組里面只有一個值了,還需要抽取嗎?  不需要  讓兩個按鈕禁用就可以if (arr.length === 1) {// start.disabled = true// end.disabled = truestart.disabled = end.disabled = true}})// 2. 關(guān)閉按鈕模塊const end = document.querySelector('.end')end.addEventListener('click', function () {clearInterval(timerId)// 結(jié)束了,可以刪除掉當前抽取的那個數(shù)組元素arr.splice(random, 1)console.log(arr)})</script>
</body></html>
08-輪播圖完整版

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>輪播圖點擊切換</title><style>* {box-sizing: border-box;}.slider {width: 560px;height: 400px;overflow: hidden;}.slider-wrapper {width: 100%;height: 320px;}.slider-wrapper img {width: 100%;height: 100%;display: block;}.slider-footer {height: 80px;background-color: rgb(100, 67, 68);padding: 12px 12px 0 12px;position: relative;}.slider-footer .toggle {position: absolute;right: 0;top: 12px;display: flex;}.slider-footer .toggle button {margin-right: 12px;width: 28px;height: 28px;appearance: none;border: none;background: rgba(255, 255, 255, 0.1);color: #fff;border-radius: 4px;cursor: pointer;}.slider-footer .toggle button:hover {background: rgba(255, 255, 255, 0.2);}.slider-footer p {margin: 0;color: #fff;font-size: 18px;margin-bottom: 10px;}.slider-indicator {margin: 0;padding: 0;list-style: none;display: flex;align-items: center;}.slider-indicator li {width: 8px;height: 8px;margin: 4px;border-radius: 50%;background: #fff;opacity: 0.4;cursor: pointer;}.slider-indicator li.active {width: 12px;height: 12px;opacity: 1;}</style>
</head><body><div class="slider"><div class="slider-wrapper"><img src="./images/slider01.jpg" alt="" /></div><div class="slider-footer"><p>對人類來說會不會太超前了?</p><ul class="slider-indicator"><li class="active"></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><div class="toggle"><button class="prev">&lt;</button><button class="next">&gt;</button></div></div></div><script>// 1. 初始數(shù)據(jù)const data = [{ url: './images/slider01.jpg', title: '對人類來說會不會太超前了?', color: 'rgb(100, 67, 68)' },{ url: './images/slider02.jpg', title: '開啟劍與雪的黑暗傳說!', color: 'rgb(43, 35, 26)' },{ url: './images/slider03.jpg', title: '真正的jo廚出現(xiàn)了!', color: 'rgb(36, 31, 33)' },{ url: './images/slider04.jpg', title: '李玉剛:讓世界通過B站看到東方大國文化', color: 'rgb(139, 98, 66)' },{ url: './images/slider05.jpg', title: '快來分享你的寒假日常吧~', color: 'rgb(67, 90, 92)' },{ url: './images/slider06.jpg', title: '嗶哩嗶哩小年YEAH', color: 'rgb(166, 131, 143)' },{ url: './images/slider07.jpg', title: '一站式解決你的電腦配置問題!!!', color: 'rgb(53, 29, 25)' },{ url: './images/slider08.jpg', title: '誰不想和小貓咪貼貼呢!', color: 'rgb(99, 72, 114)' },]// 獲取元素const img = document.querySelector('.slider-wrapper img')const p = document.querySelector('.slider-footer p')const footer = document.querySelector('.slider-footer')// 1. 右按鈕業(yè)務(wù)// 1.1 獲取右側(cè)按鈕 const next = document.querySelector('.next')let i = 0  // 信號量 控制播放圖片張數(shù)// 1.2 注冊點擊事件next.addEventListener('click', function () {// console.log(11)i++// 1.6判斷條件  如果大于8 就復(fù)原為 0// if (i >= 8) {//   i = 0// }i = i >= data.length ? 0 : i// 1.3 得到對應(yīng)的對象// console.log(data[i])// 調(diào)用函數(shù)toggle()})// 2. 左側(cè)按鈕業(yè)務(wù)// 2.1 獲取左側(cè)按鈕 const prev = document.querySelector('.prev')// 1.2 注冊點擊事件prev.addEventListener('click', function () {i--// 判斷條件  如果小于0  則爬到最后一張圖片索引號是 7// if (i < 0) {//   i = 7// }i = i < 0 ? data.length - 1 : i// 1.3 得到對應(yīng)的對象// console.log(data[i])// 調(diào)用函數(shù)toggle()})// 聲明一個渲染的函數(shù)作為復(fù)用function toggle() {// 1.4 渲染對應(yīng)的數(shù)據(jù)img.src = data[i].urlp.innerHTML = data[i].titlefooter.style.backgroundColor = data[i].color// 1.5 更換小圓點    先移除原來的類名, 當前l(fā)i再添加 這個 類名document.querySelector('.slider-indicator .active').classList.remove('active')document.querySelector(`.slider-indicator li:nth-child(${i + 1})`).classList.add('active')}// 3. 自動播放模塊let timerId = setInterval(function () {// 利用js自動調(diào)用點擊事件  click()  一定加小括號調(diào)用函數(shù)next.click()}, 1000)// 4. 鼠標經(jīng)過大盒子,停止定時器const slider = document.querySelector('.slider')// 注冊事件slider.addEventListener('mouseenter', function () {// 停止定時器clearInterval(timerId)})// 5. 鼠標離開大盒子,開啟定時器// 注冊事件slider.addEventListener('mouseleave', function () {// 停止定時器if (timerId) clearInterval(timerId)// 開啟定時器timerId = setInterval(function () {// 利用js自動調(diào)用點擊事件  click()  一定加小括號調(diào)用函數(shù)next.click()}, 1000)})</script>
</body></html>
09-焦點事件

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><input type="text"><script>const input = document.querySelector('input')input.addEventListener('focus', function () {console.log('有焦點觸發(fā)')})input.addEventListener('blur', function () {console.log('失去焦點觸發(fā)')})</script>
</body></html>
10-小米搜索框

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}ul {list-style: none;}.mi {position: relative;width: 223px;margin: 100px auto;}.mi input {width: 223px;height: 48px;padding: 0 10px;font-size: 14px;line-height: 48px;border: 1px solid #e0e0e0;outline: none;}.mi .search {border: 1px solid #ff6700;}.result-list {display: none;position: absolute;left: 0;top: 48px;width: 223px;border: 1px solid #ff6700;border-top: 0;background: #fff;}.result-list a {display: block;padding: 6px 15px;font-size: 12px;color: #424242;text-decoration: none;}.result-list a:hover {background-color: #eee;}</style></head><body><div class="mi"><input type="search" placeholder="小米筆記本"><ul class="result-list"><li><a href="#">全部商品</a></li><li><a href="#">小米11</a></li><li><a href="#">小米10S</a></li><li><a href="#">小米筆記本</a></li><li><a href="#">小米手機</a></li><li><a href="#">黑鯊4</a></li><li><a href="#">空調(diào)</a></li></ul></div><script>// 1. 獲取元素const input = document.querySelector('[type=search]')const ul = document.querySelector('.result-list')// console.log(input)// 2. 監(jiān)聽事件 獲得焦點input.addEventListener('focus', function () {// ul顯示ul.style.display = 'block'// 添加一個帶有顏色邊框的類名input.classList.add('search')})// 3. 監(jiān)聽事件 失去焦點input.addEventListener('blur', function () {ul.style.display = 'none'input.classList.remove('search')})</script>
</body></html>
11-鍵盤事件類型
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><input type="text"><script>const input = document.querySelector('input')// 1. 鍵盤事件// input.addEventListener('keydown', function () {//   console.log('鍵盤按下了')// })// input.addEventListener('keyup', function () {//   console.log('鍵盤談起了')// })// 2. 用戶輸入文本事件  inputinput.addEventListener('input', function () {console.log(input.value)})</script>
</body></html>
12-focus選擇器

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>input {width: 200px;transition: all .3s;}/* focus偽類選擇器  獲得焦點 */input:focus {width: 300px;}</style>
</head><body><input type="text">
</body></html>
15-按下回車發(fā)布評論

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>評論回車發(fā)布</title><style>.wrapper {min-width: 400px;max-width: 800px;display: flex;justify-content: flex-end;}.avatar {width: 48px;height: 48px;border-radius: 50%;overflow: hidden;background: url(./images/avatar.jpg) no-repeat center / cover;margin-right: 20px;}.wrapper textarea {outline: none;border-color: transparent;resize: none;background: #f5f5f5;border-radius: 4px;flex: 1;padding: 10px;transition: all 0.5s;height: 30px;}.wrapper textarea:focus {border-color: #e4e4e4;background: #fff;height: 50px;}.wrapper button {background: #00aeec;color: #fff;border: none;border-radius: 4px;margin-left: 10px;width: 70px;cursor: pointer;}.wrapper .total {margin-right: 80px;color: #999;margin-top: 5px;opacity: 0;transition: all 0.5s;}.list {min-width: 400px;max-width: 800px;display: flex;}.list .item {width: 100%;display: flex;}.list .item .info {flex: 1;border-bottom: 1px dashed #e4e4e4;padding-bottom: 10px;}.list .item p {margin: 0;}.list .item .name {color: #FB7299;font-size: 14px;font-weight: bold;}.list .item .text {color: #333;padding: 10px 0;}.list .item .time {color: #999;font-size: 12px;}</style>
</head><body><div class="wrapper"><i class="avatar"></i><textarea id="tx" placeholder="發(fā)一條友善的評論" rows="2" maxlength="200"></textarea><button>發(fā)布</button></div><div class="wrapper"><span class="total">0/200字</span></div><div class="list"><div class="item" style="display: none;"><i class="avatar"></i><div class="info"><p class="name">清風徐來</p><p class="text">大家都辛苦啦,感謝各位大大的努力,能圓滿完成真是太好了[笑哭][支持]</p><p class="time">2022-10-10 20:29:21</p></div></div></div><script>const tx = document.querySelector('#tx')const total = document.querySelector('.total')const item = document.querySelector('.item')const text = document.querySelector('.text')// 1. 當我們文本域獲得了焦點,就讓 total 顯示出來tx.addEventListener('focus', function () {total.style.opacity = 1})// 2. 當我們文本域失去了焦點,就讓 total 隱藏出來tx.addEventListener('blur', function () {total.style.opacity = 0})// 3. 檢測用戶輸入tx.addEventListener('input', function () {// console.log(tx.value.length)  得到輸入的長度total.innerHTML = `${tx.value.length}/200字`})// 4. 按下回車發(fā)布評論tx.addEventListener('keyup', function (e) {// 只有按下的是回車鍵,才會觸發(fā)// console.log(e.key)if (e.key === 'Enter') {// 如果用戶輸入的不為空就顯示和打印if (tx.value.trim()) {// console.log(11)item.style.display = 'block'// console.log(tx.value)  // 用戶輸入的內(nèi)容text.innerHTML = tx.value}// 等我們按下回車,結(jié)束,清空文本域tx.value = ''// 按下回車之后,就要把 字符統(tǒng)計 復(fù)原total.innerHTML = '0/200字'}})</script>
</body></html>
16-trim方法

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><textarea name="" id="" cols="30" rows="10"></textarea><script>const str = '          im a teacher  '// console.log(str.trim())  // 去除字符串左右的空格const tx = document.querySelector('textarea')tx.addEventListener('keyup', function (e) {// console.log(tx.value)if (e.key === 'Enter') {// console.log(tx.value)console.log(tx.value.trim() === '')}})</script>
</body></html>
18-tab欄切換

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>tab欄切換</title><style>* {margin: 0;padding: 0;}.tab {width: 590px;height: 340px;margin: 20px;border: 1px solid #e4e4e4;}.tab-nav {width: 100%;height: 60px;line-height: 60px;display: flex;justify-content: space-between;}.tab-nav h3 {font-size: 24px;font-weight: normal;margin-left: 20px;}.tab-nav ul {list-style: none;display: flex;justify-content: flex-end;}.tab-nav ul li {margin: 0 20px;font-size: 14px;}.tab-nav ul li a {text-decoration: none;border-bottom: 2px solid transparent;color: #333;}.tab-nav ul li a.active {border-color: #e1251b;color: #e1251b;}.tab-content {padding: 0 16px;}.tab-content .item {display: none;}.tab-content .item.active {display: block;}</style>
</head><body><div class="tab"><div class="tab-nav"><h3>每日特價</h3><ul><li><a class="active" href="javascript:;">精選</a></li><li><a href="javascript:;">美食</a></li><li><a href="javascript:;">百貨</a></li><li><a href="javascript:;">個護</a></li><li><a href="javascript:;">預(yù)告</a></li></ul></div><div class="tab-content"><div class="item active"><img src="./images/tab00.png" alt="" /></div><div class="item"><img src="./images/tab01.png" alt="" /></div><div class="item"><img src="./images/tab02.png" alt="" /></div><div class="item"><img src="./images/tab03.png" alt="" /></div><div class="item"><img src="./images/tab04.png" alt="" /></div></div></div><script>// 1. a 模塊制作 要給 5個鏈接綁定鼠標經(jīng)過事件// 1.1 獲取 a 元素 const as = document.querySelectorAll('.tab-nav a')// console.log(as) for (let i = 0; i < as.length; i++) {// console.log(as[i])// 要給 5個鏈接綁定鼠標經(jīng)過事件as[i].addEventListener('mouseenter', function () {// console.log('鼠標經(jīng)過')// 排他思想  // 干掉別人 移除類activedocument.querySelector('.tab-nav .active').classList.remove('active')// 我登基 我添加類 active  this 當前的那個 a this.classList.add('active')// 下面5個大盒子 一一對應(yīng)  .item // 干掉別人document.querySelector('.tab-content .active').classList.remove('active')// 對應(yīng)序號的那個 item 顯示 添加 active 類document.querySelector(`.tab-content .item:nth-child(${i + 1})`).classList.add('active')})}</script>
</body></html>

web APIs第三天

01-全選按鈕案例

在這里插入圖片描述

<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title></title><style>* {margin: 0;padding: 0;}table {border-collapse: collapse;border-spacing: 0;border: 1px solid #c0c0c0;width: 500px;margin: 100px auto;text-align: center;}th {background-color: #09c;font: bold 16px "微軟雅黑";color: #fff;height: 24px;}td {border: 1px solid #d0d0d0;color: #404060;padding: 10px;}.allCheck {width: 80px;}</style>
</head><body><table><tr><th class="allCheck"><input type="checkbox" name="" id="checkAll"> <span class="all">全選</span></th><th>商品</th><th>商家</th><th>價格</th></tr><tr><td><input type="checkbox" name="check" class="ck"></td><td>小米手機</td><td>小米</td><td>¥1999</td></tr><tr><td><input type="checkbox" name="check" class="ck"></td><td>小米凈水器</td><td>小米</td><td>¥4999</td></tr><tr><td><input type="checkbox" name="check" class="ck"></td><td>小米電視</td><td>小米</td><td>¥5999</td></tr></table><script>// 1. 獲取大復(fù)選框const checkAll = document.querySelector('#checkAll')// 2. 獲取所有的小復(fù)選框const cks = document.querySelectorAll('.ck')// 3. 點擊大復(fù)選框  注冊事件checkAll.addEventListener('click', function () {// 得到當前大復(fù)選框的選中狀態(tài)// console.log(checkAll.checked)  // 得到 是 true 或者是 false// 4. 遍歷所有的小復(fù)選框 讓小復(fù)選框的checked  =  大復(fù)選框的 checkedfor (let i = 0; i < cks.length; i++) {cks[i].checked = this.checked}})// 5. 小復(fù)選框控制大復(fù)選框for (let i = 0; i < cks.length; i++) {// 5.1 給所有的小復(fù)選框添加點擊事件cks[i].addEventListener('click', function () {// 判斷選中的小復(fù)選框個數(shù) 是不是等于  總的小復(fù)選框個數(shù)// 一定要寫到點擊里面,因為每次要獲得最新的個數(shù)// console.log(document.querySelectorAll('.ck:checked').length)// console.log(document.querySelectorAll('.ck:checked').length === cks.length)checkAll.checked = document.querySelectorAll('.ck:checked').length === cks.length})}</script>
</body></html>
02-css偽類選擇器checked

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 選擇被勾選的復(fù)選框 */.ck:checked {width: 20px;height: 20px;}</style>
</head><body><input type="checkbox" name="" id="" class="ck"><input type="checkbox" name="" id="" class="ck"><input type="checkbox" name="" id="" class="ck"><input type="checkbox" name="" id="" class="ck">
</body></html>
04-事件冒泡

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.father {width: 500px;height: 500px;background-color: pink;}.son {width: 200px;height: 200px;background-color: purple;}</style>
</head><body><div class="father"><div class="son"></div></div><script>const fa = document.querySelector('.father')const son = document.querySelector('.son')// 山東  濟南  藍翔   目標(pink老師)  捕獲階段//  藍翔  濟南   山東   冒泡階段document.addEventListener('click', function () {alert('我是爺爺')})fa.addEventListener('click', function () {alert('我是爸爸')})son.addEventListener('click', function (e) {alert('我是兒子')// 組織流動傳播  事件對象.stopPropagation()e.stopPropagation()})</script>
</body></html>
05-事件解綁

無頁面

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><button>點擊</button><script>const btn = document.querySelector('button')// btn.onclick = function () {//   alert('點擊了')//   // L0 事件移除解綁//   btn.onclick = null// }function fn() {alert('點擊了')}btn.addEventListener('click', fn)// L2 事件移除解綁btn.removeEventListener('click', fn)</script>
</body></html>
06-mouseover和mouseenter的區(qū)別

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.dad {width: 400px;height: 400px;background-color: pink;}.baby {width: 200px;height: 200px;background-color: purple;}</style>
</head><body><div class="dad"><div class="baby"></div></div><script>const dad = document.querySelector('.dad')const baby = document.querySelector('.baby')dad.addEventListener('mouseenter', function () {console.log('鼠標經(jīng)過')})dad.addEventListener('mouseleave', function () {console.log('鼠標離開')})</script>
</body></html>
07-事件委托

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><ul><li>第1個孩子</li><li>第2個孩子</li><li>第3個孩子</li><li>第4個孩子</li><li>第5個孩子</li><p>我不需要變色</p></ul><script>// 點擊每個小li 當前l(fā)i 文字變?yōu)榧t色// 按照事件委托的方式  委托給父級,事件寫到父級身上// 1. 獲得父元素const ul = document.querySelector('ul')ul.addEventListener('click', function (e) {// alert(11)// this.style.color = 'red'// console.dir(e.target) // 就是我們點擊的那個對象// e.target.style.color = 'red'// 我的需求,我們只要點擊li才會有效果if (e.target.tagName === 'LI') {e.target.style.color = 'red'}})</script>
</body></html>
08-tab欄切換

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>tab欄切換</title><style>* {margin: 0;padding: 0;}.tab {width: 590px;height: 340px;margin: 20px;border: 1px solid #e4e4e4;}.tab-nav {width: 100%;height: 60px;line-height: 60px;display: flex;justify-content: space-between;}.tab-nav h3 {font-size: 24px;font-weight: normal;margin-left: 20px;}.tab-nav ul {list-style: none;display: flex;justify-content: flex-end;}.tab-nav ul li {margin: 0 20px;font-size: 14px;}.tab-nav ul li a {text-decoration: none;border-bottom: 2px solid transparent;color: #333;}.tab-nav ul li a.active {border-color: #e1251b;color: #e1251b;}.tab-content {padding: 0 16px;}.tab-content .item {display: none;}.tab-content .item.active {display: block;}</style>
</head><body><div class="tab"><div class="tab-nav"><h3>每日特價</h3><ul><li><a class="active" href="javascript:;" data-id="0">精選</a></li><li><a href="javascript:;" data-id="1">美食</a></li><li><a href="javascript:;" data-id="2">百貨</a></li><li><a href="javascript:;" data-id="3">個護</a></li><li><a href="javascript:;" data-id="4">預(yù)告</a></li></ul></div><div class="tab-content"><div class="item active"><img src="./images/tab00.png" alt="" /></div><div class="item"><img src="./images/tab01.png" alt="" /></div><div class="item"><img src="./images/tab02.png" alt="" /></div><div class="item"><img src="./images/tab03.png" alt="" /></div><div class="item"><img src="./images/tab04.png" alt="" /></div></div></div><script>// 采取事件委托的形式 tab欄切換// 1. 獲取 ul 父元素 因為 ul只有一個const ul = document.querySelector('.tab-nav ul')// 獲取 5個 item const items = document.querySelectorAll('.tab-content .item')// 2. 添加事件ul.addEventListener('click', function (e) {// console.log(e.target)  // e.target是我們點擊的對象// 我們只有點擊了 a 才會 進行 添加類和刪除類操作 // console.log(e.target.tagName)  // e.target.tagName 點擊那個對象的 標簽名if (e.target.tagName === 'A') {// console.log('我選的是a')// 排他思想 ,先移除原來的active  document.querySelector('.tab-nav .active').classList.remove('active')//當前元素添加 active  是 e.target// this 指向ul 不能用this e.target.classList.add('active')// 下面大盒子模塊// console.log(e.target.dataset.id)const i = +e.target.dataset.id// 排他思想 ,先移除原來的active document.querySelector('.tab-content .active').classList.remove('active')// 對應(yīng)的大盒子 添加 active // document.querySelector(`.tab-content .item:nth-child(${i + 1})`).classList.add('active')items[i].classList.add('active')}})</script>
</body></html>
09-自定義屬性

無頁面

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div data-id="0"></div><script>const div = document.querySelector('div')console.log(div.dataset.id) // 0 </script>
</body></html>
10-阻止默認行為

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><form action="http://www.itcast.cn"><input type="submit" value="免費注冊"></form><a href="http://www.baidu.com">百度一下</a><script>const form = document.querySelector('form')form.addEventListener('submit', function (e) {// 阻止默認行為  提交e.preventDefault()})const a = document.querySelector('a')a.addEventListener('click', function (e) {e.preventDefault()})</script>
</body></html>
11-頁面加載事件

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>// 等待頁面所有資源加載完畢,就回去執(zhí)行回調(diào)函數(shù)// window.addEventListener('load', function () {//   const btn = document.querySelector('button')//   btn.addEventListener('click', function () {//     alert(11)//   })// })// img.addEventListener('load', function () {//   // 等待圖片加載完畢,再去執(zhí)行里面的代碼// })document.addEventListener('DOMContentLoaded', function () {const btn = document.querySelector('button')btn.addEventListener('click', function () {alert(11)})})</script>
</head><body><button>點擊</button></body></html>
12-頁面滾動事件

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>body {padding-top: 100px;height: 3000px;}div {display: none;margin: 100px;overflow: scroll;width: 200px;height: 200px;border: 1px solid #000;}</style>
</head><body><div>我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字我里面有很多很多的文字</div><script>const div = document.querySelector('div')// 頁面滾動事件window.addEventListener('scroll', function () {// console.log('我滾了')// 我想知道頁面到底滾動了多少像素, 被卷去了多少  scrollTop// 獲取html元素寫法  // document.documentElement  // console.log(document.documentElement.scrollTop)const n = document.documentElement.scrollTopif (n >= 100) {div.style.display = 'block'} else {div.style.display = 'none'}})// const div = document.querySelector('div')// div.addEventListener('scroll', function () {//   // console.log(111)//   // scrollTop 被卷去的頭部//   console.log(div.scrollTop)// })</script>
</body></html>
13-scrollTop細節(jié)

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>body {height: 3000px;}</style>
</head><body><script>document.documentElement.scrollTop = 800window.addEventListener('scroll', function () {// 必須寫到里面const n = document.documentElement.scrollTop// 得到是什么數(shù)據(jù)   數(shù)字型 不帶單位console.log(n)})</script>
</body></html>
14-頁面尺寸事件

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {display: inline-block;/* width: 200px; */height: 200px;background-color: pink;padding: 10px;border: 20px solid red;}</style>
</head><body><div>123123123123123123123123123123123123123</div><script>const div = document.querySelector('div')console.log(div.clientWidth)// resize 瀏覽器窗口大小發(fā)生變化的時候觸發(fā)的事件window.addEventListener('resize', function () {console.log(1)})</script>
</body></html>
15-offsetLeft

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {position: relative;width: 200px;height: 200px;background-color: pink;margin: 100px;}p {width: 100px;height: 100px;background-color: purple;margin: 50px;}</style>
</head><body><div><p></p></div><script>const div = document.querySelector('div')const p = document.querySelector('p')// console.log(div.offsetLeft)// 檢測盒子的位置  最近一級帶有定位的祖先元素console.log(p.offsetLeft)</script>
</body></html>
16-仿新浪固定頭部

在這里插入圖片描述

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}.content {overflow: hidden;width: 1000px;height: 3000px;background-color: pink;margin: 0 auto;}.backtop {display: none;width: 50px;left: 50%;margin: 0 0 0 505px;position: fixed;bottom: 60px;z-index: 100;}.backtop a {height: 50px;width: 50px;background: url(./images/bg2.png) 0 -600px no-repeat;opacity: 0.35;overflow: hidden;display: block;text-indent: -999em;cursor: pointer;}.header {position: fixed;top: -80px;left: 0;width: 100%;height: 80px;background-color: purple;text-align: center;color: #fff;line-height: 80px;font-size: 30px;transition: all .3s;}.sk {width: 300px;height: 300px;background-color: skyblue;margin-top: 500px;}</style>
</head><body><div class="header">我是頂部導(dǎo)航欄</div><div class="content"><div class="sk">秒殺模塊</div></div><div class="backtop"><img src="./images/close2.png" alt=""><a href="javascript:;"></a></div><script>const sk = document.querySelector('.sk')const header = document.querySelector('.header')// 1. 頁面滾動事件window.addEventListener('scroll', function () {// 當頁面滾動到 秒殺模塊的時候,就改變 頭部的 top值// 頁面被卷去的頭部 >=  秒殺模塊的位置 offsetTopconst n = document.documentElement.scrollTop// if (n >= sk.offsetTop) {//     header.style.top = 0// } else {//     header.style.top = '-80px'// }header.style.top = n >= sk.offsetTop ? 0 : '-80px'})</script>
</body></html>
屬性選擇器

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* input[value] {color: red;} */input[type=text] {color: red;}</style>
</head><body><input type="text" value="123" data-id="0" data-name="andy"><input type="password"><script>const input = document.querySelector('input[value]')// console.log(input)console.log(input.dataset) // 自定義屬性集合console.log(input.dataset.name) // 自定義屬性集合</script>
</body></html>
電梯導(dǎo)航

在這里插入圖片描述

<script>// 第一大模塊,頁面滑動可以顯示和隱藏(function () {// 獲取元素const entry = document.querySelector('.xtx_entry')const elevator = document.querySelector('.xtx-elevator')// 1. 當頁面滾動大于 300像素,就顯示 電梯導(dǎo)航// 2. 給頁面添加滾動事件window.addEventListener('scroll', function () {// 被卷去的頭部大于 300 const n = document.documentElement.scrollTop// if (n >= 300) {//   elevator.style.opacity = 1// } else {//   elevator.style.opacity = 0// }// 簡寫elevator.style.opacity = n >= entry.offsetTop ? 1 : 0})// 點擊返回頁面頂部const backTop = document.querySelector('#backTop')backTop.addEventListener('click', function () {// 可讀寫// document.documentElement.scrollTop = 0// window.scrollTo(x, y)window.scrollTo(0, 0)})})();// 第二第三都放到另外一個執(zhí)行函數(shù)里面(function () {// 2. 點擊頁面可以滑動 const list = document.querySelector('.xtx-elevator-list')list.addEventListener('click', function (e) {// console.log(11)if (e.target.tagName === 'A' && e.target.dataset.name) {// 排他思想  // 先移除原來的類active // 先獲取這個active的對象const old = document.querySelector('.xtx-elevator-list .active')// console.log(old)// 判斷 如果原來有active類的對象,就移除類,如果開始就沒有對象,就不刪除,所以不報錯if (old) old.classList.remove('active')// 當前元素添加 active e.target.classList.add('active')// 獲得自定義屬性  new   topic // console.log(e.target.dataset.name)// 根據(jù)小盒子的自定義屬性值 去選擇 對應(yīng)的大盒子// console.log(document.querySelector(`.xtx_goods_${e.target.dataset.name}`).offsetTop)// 獲得對應(yīng)大盒子的 offsetTopconst top = document.querySelector(`.xtx_goods_${e.target.dataset.name}`).offsetTop// 讓頁面滾動到對應(yīng)的位置document.documentElement.scrollTop = top}})// 3. 頁面滾動,可以根據(jù)大盒子選 小盒子 添加 active 類window.addEventListener('scroll', function () {//  3.1  先移除類 // 先獲取這個active的對象const old = document.querySelector('.xtx-elevator-list .active')// console.log(old)// 判斷 如果原來有active類的對象,就移除類,如果開始就沒有對象,就不刪除,所以不報錯if (old) old.classList.remove('active')// 3.2 判斷頁面當前滑動的位置,選擇小盒子// 獲取4個大盒子const news = document.querySelector('.xtx_goods_new')const popular = document.querySelector('.xtx_goods_popular')const brand = document.querySelector('.xtx_goods_brand')const topic = document.querySelector('.xtx_goods_topic')const n = document.documentElement.scrollTopif (n >= news.offsetTop && n < popular.offsetTop) {// 選擇第一個小盒子document.querySelector('[data-name=new]').classList.add('active')} else if (n >= popular.offsetTop && n < brand.offsetTop) {document.querySelector('[data-name=popular]').classList.add('active')} else if (n >= brand.offsetTop && n < topic.offsetTop) {document.querySelector('[data-name=brand]').classList.add('active')} else if (n >= topic.offsetTop) {document.querySelector('[data-name=topic]').classList.add('active')}})})();// let n = 10// n = 20</script>
m-bilibili

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>bilibili-干杯~~~</title><!-- 引入favicon圖標 --><link rel="shortcut icon" href="favicon.ico" type="image/x-icon"><!-- 引入css文件 --><link rel="stylesheet" href="./css/index.css"><!-- 引入字體圖標文件 --><link rel="stylesheet" href="./fonts/iconfont.css">
</head><body><!-- 頭部模塊 --><header class="suspension"><div class="m-navbar"><!-- logo --><a href="#" class="logo"><i class="iconfont Navbar_logo"></i></a><!-- 右側(cè) --><div class="right"><a href="#" class="search"><i class="iconfont ic_search_tab"></i></a><a href="#" class="face"><img src="./images/login.png" alt=""></a><div class="app-btn"><img src="./images/download.png" alt=""></div></div></div><div class="channel-menu"><div class="tabs"><!-- 很寬的盒子 --><div class="tabs-list"><a href="#">首頁</a><a href="#">動畫</a><a href="#">番劇</a><a href="#">果蔬</a><a href="#">音樂</a><a href="#">舞蹈</a><a href="#">鬼畜</a><a href="#">吹鬼</a><!-- 紅色線 --><div class="line"></div></div></div><div class="after"><i class="iconfont general_pulldown_s"></i></div></div></header><!-- 主體部分 --><div class="m-home"><div class="video-list"><a href="#" class="video-item"><div class="card"><img src="./images/dog.jpg@480w_270h_1c" alt=""><!-- 播放量 --><div class="count"><span><i class="iconfont icon_shipin_bofangshu"></i>播放量</span><span><i class="iconfont icon_shipin_danmushu"></i>評論數(shù)</span></div></div><p class="title ellipsis-2">315晚會能不能曝光下智能電視?N重廣告、套娃會員、操作反人類,當代年輕人是怎么被智能電視逼瘋的?【商業(yè)B面&牛頓】</p></a><a href="#" class="video-item"><div class="card"><img src="./images/dog.jpg@480w_270h_1c" alt=""><!-- 播放量 --><div class="count"><span><i class="iconfont icon_shipin_bofangshu"></i>播放量</span><span><i class="iconfont icon_shipin_danmushu"></i>評論數(shù)</span></div></div><p class="title ellipsis-2">315晚會能不能曝光下智能電視?N重廣告、套娃會員、操作反人類,當代年輕人是怎么被智能電視逼瘋的?【商業(yè)B面&牛頓】</p></a><a href="#" class="video-item"><div class="card"><img src="./images/dog.jpg@480w_270h_1c" alt=""><!-- 播放量 --><div class="count"><span><i class="iconfont icon_shipin_bofangshu"></i>播放量</span><span><i class="iconfont icon_shipin_danmushu"></i>評論數(shù)</span></div></div><p class="title ellipsis-2">315晚會能不能曝光下智能電視?N重廣告、套娃會員、操作反人類,當代年輕人是怎么被智能電視逼瘋的?【商業(yè)B面&牛頓】</p></a><a href="#" class="video-item"><div class="card"><img src="./images/dog.jpg@480w_270h_1c" alt=""><!-- 播放量 --><div class="count"><span><i class="iconfont icon_shipin_bofangshu"></i>播放量</span><span><i class="iconfont icon_shipin_danmushu"></i>評論數(shù)</span></div></div><p class="title ellipsis-2">315晚會能不能曝光下電視?</p></a><a href="#" class="video-item"><div class="card"><img src="./images/dog.jpg@480w_270h_1c" alt=""><!-- 播放量 --><div class="count"><span><i class="iconfont icon_shipin_bofangshu"></i>播放量</span><span><i class="iconfont icon_shipin_danmushu"></i>評論數(shù)</span></div></div><p class="title ellipsis-2">315晚會能不能曝光下智能電視?N重廣告、套娃會員、操作反人類,當代年輕人是怎么被智能電視逼瘋的?【商業(yè)B面&牛頓】</p></a><a href="#" class="video-item"><div class="card"><img src="./images/dog.jpg@480w_270h_1c" alt=""><!-- 播放量 --><div class="count"><span><i class="iconfont icon_shipin_bofangshu"></i>播放量</span><span><i class="iconfont icon_shipin_danmushu"></i>評論數(shù)</span></div></div><p class="title ellipsis-2">315晚會能不能曝光下智能電視?N重廣告、套娃會員、操作反人類,當代年輕人是怎么被智能電視逼瘋的?【商業(yè)B面&牛頓】</p></a><a href="#" class="video-item"><div class="card"><img src="./images/dog.jpg@480w_270h_1c" alt=""><!-- 播放量 --><div class="count"><span><i class="iconfont icon_shipin_bofangshu"></i>播放量</span><span><i class="iconfont icon_shipin_danmushu"></i>評論數(shù)</span></div></div><p class="title ellipsis-2">315晚會能不能曝光下智能電視?N重廣告、套娃會員、操作反人類,當代年輕人是怎么被智能電視逼瘋的?【商業(yè)B面&牛頓】</p></a><a href="#" class="video-item"><div class="card"><img src="./images/dog.jpg@480w_270h_1c" alt=""><!-- 播放量 --><div class="count"><span><i class="iconfont icon_shipin_bofangshu"></i>播放量</span><span><i class="iconfont icon_shipin_danmushu"></i>評論數(shù)</span></div></div><p class="title ellipsis-2">315晚會能不能曝光下智能電視?N重廣告、套娃會員、操作反人類,當代年輕人是怎么被智能電視逼瘋的?【商業(yè)B面&牛頓】</p></a><a href="#" class="video-item"><div class="card"><img src="./images/dog.jpg@480w_270h_1c" alt=""><!-- 播放量 --><div class="count"><span><i class="iconfont icon_shipin_bofangshu"></i>播放量</span><span><i class="iconfont icon_shipin_danmushu"></i>評論數(shù)</span></div></div><p class="title ellipsis-2">315晚會能不能曝光下智能電視?N重廣告、套娃會員、操作反人類,當代年輕人是怎么被智能電視逼瘋的?【商業(yè)B面&牛頓】</p></a><a href="#" class="video-item"><div class="card"><img src="./images/dog.jpg@480w_270h_1c" alt=""><!-- 播放量 --><div class="count"><span><i class="iconfont icon_shipin_bofangshu"></i>播放量</span><span><i class="iconfont icon_shipin_danmushu"></i>評論數(shù)</span></div></div><p class="title ellipsis-2">315晚會能不能曝光下智能電視?N重廣告、套娃會員、操作反人類,當代年輕人是怎么被智能電視逼瘋的?【商業(yè)B面&牛頓】</p></a><a href="#" class="video-item"><div class="card"><img src="./images/dog.jpg@480w_270h_1c" alt=""><!-- 播放量 --><div class="count"><span><i class="iconfont icon_shipin_bofangshu"></i>播放量</span><span><i class="iconfont icon_shipin_danmushu"></i>評論數(shù)</span></div></div><p class="title ellipsis-2">315晚會能不能曝光下智能電視?N重廣告、套娃會員、操作反人類,當代年輕人是怎么被智能電視逼瘋的?【商業(yè)B面&牛頓】</p></a></div></div><!-- 底部模塊 --><footer class="app"><div class="btn-app"><i class="iconfont Navbar_logo"></i>打開App,看你感興趣的視頻</div></footer><script>// 1. 事件委托的方法 獲取父元素 tabs-listconst list = document.querySelector('.tabs-list')const line = document.querySelector('.line')// 2. 注冊點擊事件list.addEventListener('click', function (e) {// 只有點擊了A 才有觸發(fā)效果if (e.target.tagName === 'A') {// console.log(11)// 當前元素是誰 ?  e.target// 得到當前點擊元素的位置// console.log(e.target.offsetLeft)// line.style.transform = 'translateX(100px)'// 把我們點擊的a鏈接盒子的位置  然后移動line.style.transform = `translateX(${e.target.offsetLeft}px)`}})</script>
</body></html>

web APIs 第四天

03-顯示格式化的時間

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {width: 300px;height: 40px;border: 1px solid pink;text-align: center;line-height: 40px;}</style>
</head><body><div></div><script>const div = document.querySelector('div')function getMyDate() {const date = new Date()let h = date.getHours()let m = date.getMinutes()let s = date.getSeconds()h = h < 10 ? '0' + h : hm = m < 10 ? '0' + m : ms = s < 10 ? '0' + s : sreturn `今天是: ${date.getFullYear()}${date.getMonth() + 1}${date.getDate()}${h}:${m}:${s}`}div.innerHTML = getMyDate()setInterval(function () {div.innerHTML = getMyDate()}, 1000)</script>
</body></html>
04-時間的另外一個寫法

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {width: 300px;height: 40px;border: 1px solid pink;text-align: center;line-height: 40px;}</style>
</head><body><div></div><script>const div = document.querySelector('div')// 得到日期對象const date = new Date()div.innerHTML = date.toLocaleString()  // 2022/4/1 09:41:21setInterval(function () {const date = new Date()div.innerHTML = date.toLocaleString()  // 2022/4/1 09:41:21}, 1000)// div.innerHTML = date.toLocaleDateString()  // 2022/4/1// div.innerHTML = date.toLocaleTimeString()  // 2022/4/1</script>
</body></html>
06-倒計時

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>.countdown {width: 240px;height: 305px;text-align: center;line-height: 1;color: #fff;background-color: brown;/* background-size: 240px; *//* float: left; */overflow: hidden;}.countdown .next {font-size: 16px;margin: 25px 0 14px;}.countdown .title {font-size: 33px;}.countdown .tips {margin-top: 80px;font-size: 23px;}.countdown small {font-size: 17px;}.countdown .clock {width: 142px;margin: 18px auto 0;overflow: hidden;}.countdown .clock span,.countdown .clock i {display: block;text-align: center;line-height: 34px;font-size: 23px;float: left;}.countdown .clock span {width: 34px;height: 34px;border-radius: 2px;background-color: #303430;}.countdown .clock i {width: 20px;font-style: normal;}</style>
</head><body><div class="countdown"><p class="next">今天是2222年2月22日</p><p class="title">下班倒計時</p><p class="clock"><span id="hour">00</span><i>:</i><span id="minutes">25</span><i>:</i><span id="scond">20</span></p><p class="tips">18:30:00下課</p></div><script>// 隨機顏色函數(shù)// 1. 自定義一個隨機顏色函數(shù)function getRandomColor(flag = true) {if (flag) {// 3. 如果是true 則返回 #fffffflet str = '#'let arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']// 利用for循環(huán)隨機抽6次 累加到 str里面for (let i = 1; i <= 6; i++) {// 每次要隨機從數(shù)組里面抽取一個  // random 是數(shù)組的索引號 是隨機的let random = Math.floor(Math.random() * arr.length)// str = str + arr[random]str += arr[random]}return str} else {// 4. 否則是 false 則返回 rgb(255,255,255)let r = Math.floor(Math.random() * 256)  // 55let g = Math.floor(Math.random() * 256)  // 89let b = Math.floor(Math.random() * 256)  // 255return `rgb(${r},${g},${b})`}}// 頁面刷新隨機得到顏色const countdown = document.querySelector('.countdown')countdown.style.backgroundColor = getRandomColor()// 函數(shù)封裝 getCountTimefunction getCountTime() {// 1. 得到當前的時間戳const now = +new Date()// 2. 得到將來的時間戳const last = +new Date('2024-4-1 18:30:00')// console.log(now, last)// 3. 得到剩余的時間戳 count  記得轉(zhuǎn)換為 秒數(shù)const count = (last - now) / 1000// console.log(count)// 4. 轉(zhuǎn)換為時分秒// h = parseInt(總秒數(shù) / 60 / 60 % 24)   //   計算小時// m = parseInt(總秒數(shù) / 60 % 60);     //   計算分數(shù)// s = parseInt(總秒數(shù) % 60);   // let d = parseInt(count / 60 / 60 / 24)               //   計算當前秒數(shù)let h = parseInt(count / 60 / 60 % 24)h = h < 10 ? '0' + h : hlet m = parseInt(count / 60 % 60)m = m < 10 ? '0' + m : mlet s = parseInt(count % 60)s = s < 10 ? '0' + s : sconsole.log(h, m, s)//  5. 把時分秒寫到對應(yīng)的盒子里面document.querySelector('#hour').innerHTML = hdocument.querySelector('#minutes').innerHTML = mdocument.querySelector('#scond').innerHTML = s}// 先調(diào)用一次getCountTime()// 開啟定時器setInterval(getCountTime, 1000)</script>
</body></html>
07-父節(jié)點

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div class="yeye"><div class="dad"><div class="baby">x</div></div></div><script>const baby = document.querySelector('.baby')console.log(baby)  // 返回dom對象console.log(baby.parentNode)  // 返回dom對象console.log(baby.parentNode.parentNode)  // 返回dom對象</script>
</body></html>
08-點擊關(guān)閉

在這里插入圖片描述

李偉興 09:31:13
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {position: relative;width: 1000px;height: 200px;background-color: pink;margin: 100px auto;text-align: center;font-size: 50px;line-height: 200px;font-weight: 700;}.box1 {position: absolute;right: 20px;top: 10px;width: 20px;height: 20px;background-color: skyblue;text-align: center;line-height: 20px;font-size: 16px;cursor: pointer;}</style>
</head><body><div class="box">我是廣告<div class="box1">X</div></div><div class="box">我是廣告<div class="box1">X</div></div><div class="box">我是廣告<div class="box1">X</div></div><script>// // 1. 獲取事件源// const box1 = document.querySelector('.box1')// // 2. 事件偵聽// box1.addEventListener('click', function () {//   this.parentNode.style.display = 'none'// })// 1. 獲取三個關(guān)閉按鈕const closeBtn = document.querySelectorAll('.box1')for (let i = 0; i < closeBtn.length; i++) {closeBtn[i].addEventListener('click', function () {// 關(guān)閉我的爸爸 所以只關(guān)閉當前的父元素this.parentNode.style.display = 'none'})}</script>
</body></html>
09-子節(jié)點

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul><script>// const ul = document.querySelector('ul')  // ul// console.log(ul.children)  // 得到偽數(shù)組  選擇的是 親兒子 const li2 = document.querySelector('ul li:nth-child(2)')console.log(li2.previousElementSibling)  // 上一個兄弟console.log(li2.nextElementSibling)  // 下一個兄弟</script>
</body></html>
10-增加節(jié)點

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><ul><li>我是老大</li></ul><script>// // 1. 創(chuàng)建節(jié)點// const div = document.createElement('div')// // console.log(div)// 2. 追加節(jié)點  作為最后一個子元素// document.body.appendChild(div)const ul = document.querySelector('ul')const li = document.createElement('li')li.innerHTML = '我是li'// ul.appendChild(li)// ul.children// 3. 追加節(jié)點// insertBefore(插入的元素, 放到哪個元素的前面)ul.insertBefore(li, ul.children[0])</script>
</body></html>
11-克隆節(jié)點

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><ul><li>1</li><li>2</li><li>3</li></ul><script>const ul = document.querySelector('ul')// 1 克隆節(jié)點  元素.cloneNode(true)// const li1 = ul.children[0].cloneNode(true)// console.log(li1)// 2. 追加ul.appendChild(ul.children[0].cloneNode(true))</script>
</body></html>
12-刪除節(jié)點

沒有頁面

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {display: none;}</style>
</head><body><div class="box">123</div><ul><li>沒用了</li></ul><script>const ul = document.querySelector('ul')// 刪除節(jié)點  父元素.removeChlid(子元素)ul.removeChild(ul.children[0])</script>
</body></html>
13-m端事件

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {width: 300px;height: 300px;background-color: pink;}</style>
</head><body><div></div><script>const div = document.querySelector('div')// 1. 觸摸div.addEventListener('touchstart', function () {console.log('開始摸我了')})// 2. 離開div.addEventListener('touchend', function () {console.log('離開了')})// 3. 移動div.addEventListener('touchmove', function () {console.log('一直摸,移動')})</script>
</body></html>
14-移動端輪播圖

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./css/swiper.min.css"><style>.box {position: relative;width: 800px;height: 300px;background-color: pink;margin: 100px auto;}html,body {position: relative;height: 100%;}body {background: #eee;font-family: Helvetica Neue, Helvetica, Arial, sans-serif;font-size: 14px;color: #000;margin: 0;padding: 0;}.swiper {overflow: hidden;width: 100%;height: 100%;}.swiper-slide {text-align: center;font-size: 18px;background: #fff;/* Center slide text vertically */display: -webkit-box;display: -ms-flexbox;display: -webkit-flex;display: flex;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-justify-content: center;justify-content: center;-webkit-box-align: center;-ms-flex-align: center;-webkit-align-items: center;align-items: center;}.swiper-slide img {display: block;width: 100%;height: 100%;object-fit: cover;}</style></head><body><div class="box"><!-- Swiper --><div class="swiper mySwiper"><div class="swiper-wrapper"><div class="swiper-slide">Slide 1</div><div class="swiper-slide">Slide 2</div><div class="swiper-slide">Slide 3</div><div class="swiper-slide">Slide 4</div><div class="swiper-slide">Slide 5</div><div class="swiper-slide">Slide 6</div><div class="swiper-slide">Slide 7</div><div class="swiper-slide">Slide 8</div><div class="swiper-slide">Slide 9</div></div><div class="swiper-pagination"></div></div></div><script src="./js/swiper.min.js"></script><script>var swiper = new Swiper(".mySwiper", {// 小圓點pagination: {el: ".swiper-pagination",},// 自動播放autoplay: {delay: 1000,//1秒切換一次disableOnInteraction: false,  // 鼠標點擊 觸摸之后,自動繼續(xù)播放},// 可以鍵盤控制keyboard: {enabled: true,onlyInViewport: true,},});</script>
</body></html>
1
1
1
1
1
1
1
1
1
1
1
1
1
1
http://www.risenshineclean.com/news/22166.html

相關(guān)文章:

  • 怎么做網(wǎng)站背景圖片seo網(wǎng)站優(yōu)化工具
  • 寧波品牌網(wǎng)站制作哪家好合肥百度競價推廣代理公司
  • 盤錦網(wǎng)站建設(shè)價位軟件開發(fā)網(wǎng)站
  • 專門做外貿(mào)的網(wǎng)站有哪些怎樣在百度上發(fā)布廣告
  • 單位網(wǎng)站建設(shè)申請seo1新地址在哪里
  • 網(wǎng)站上傳文件不大于5M定么做百度收錄怎么查詢
  • 蛋糕網(wǎng)站內(nèi)容規(guī)劃網(wǎng)絡(luò)營銷工程師是做什么的
  • 購物網(wǎng)站建設(shè)的可行性內(nèi)部優(yōu)化
  • 天津自貿(mào)區(qū)建設(shè)局網(wǎng)站關(guān)鍵詞出價計算公式
  • 傳媒公司做網(wǎng)站條件百度關(guān)鍵詞推廣方案
  • 機械行業(yè)營銷型網(wǎng)站成都搜狗seo
  • 自己做銷售獨立網(wǎng)站網(wǎng)站運營及推廣方案
  • dw不用代碼做網(wǎng)站網(wǎng)絡(luò)營銷的推廣方法
  • 西安優(yōu)秀的集團門戶網(wǎng)站建設(shè)服務(wù)商長沙網(wǎng)站推廣
  • 石家莊網(wǎng)站建設(shè)求職簡歷怎么申請網(wǎng)站空間
  • 甘孜商城網(wǎng)站建設(shè)seo實戰(zhàn)培訓(xùn)機構(gòu)
  • 沒有外貿(mào)網(wǎng)站 如果做外貿(mào)專業(yè)網(wǎng)絡(luò)推廣
  • 網(wǎng)站子頁面如何做seo經(jīng)典模板網(wǎng)站建設(shè)
  • 網(wǎng)站如何做才能被360收錄營銷推廣軟件
  • 個人企業(yè)網(wǎng)站怎么建設(shè)seo外鏈資源
  • 網(wǎng)站續(xù)費收多少合適營銷手段有哪些
  • 扁平化企業(yè)網(wǎng)站模板賬號權(quán)重查詢?nèi)肟谡鹃L工具
  • 網(wǎng)站信息向上滾動標簽網(wǎng)頁設(shè)計與制作代碼成品
  • 寶盈集團直營網(wǎng)站怎么做什么是網(wǎng)絡(luò)營銷平臺
  • 我的網(wǎng)站為什么打不開喬拓云建站平臺
  • 制作網(wǎng)站賺錢嗎足球比賽統(tǒng)計數(shù)據(jù)
  • 好看的網(wǎng)站設(shè)計網(wǎng)站seo怎么優(yōu)化關(guān)鍵詞排名培訓(xùn)
  • 做外貿(mào)自己的公司網(wǎng)站成品app直播源碼有什么用
  • spring boot 網(wǎng)站開發(fā)網(wǎng)站編輯
  • 知道域名怎么進入網(wǎng)站北京網(wǎng)站建設(shè)公司報價