【前端】夯实基础 css/html/js 50个练手项目(持续更新) |
您所在的位置:网站首页 › web前端教学项目案例 › 【前端】夯实基础 css/html/js 50个练手项目(持续更新) |
文章目录
前言Day 1 expanding-cardsDay 2 progress-stepsDay 7 Split Landing PageDay9 Sound BoardDay10 Dad JokesDay11 Event KeycodesDay12 FAQ collapse重点1:classList.toggle('active')重点2:css 伪类选择器重点3:css 的覆盖
Day46 Quiz App重点 label 标签的 for 属性
前言
发现一个没有用前端框架的练手项目,很适合我这种纯后端开发夯实基础,内含50个mini project,学习一下,做做笔记。 项目地址:https://github.com/bradtraversy/50projects50days Day 1 expanding-cards效果预览 知识点总结: 响应式布局 flex: 5;操作 classList 可以动态修改节点的 class Day 2 progress-steps效果预览 知识点总结: 两种样式的互斥交互,成对编写 classList.add/removemouseenter 是鼠标移入事件,mouseleave 是鼠标移出事件 Day9 Sound Board效果预览 (打开音频设备) 核心代码: const sounds = ['applause', 'boo', 'gasp', 'tada', 'victory', 'wrong'] sounds.forEach(sound => { const btn = document.createElement('button') btn.classList.add('btn') btn.innerText = sound // 注册事件 点击按钮就停止所有音效后,播放当前选中的音乐 btn.addEventListener('click', () => { stopSongs() document.getElementById(sound).play() }) // 加进h5渲染页面 document.getElementById('buttons').appendChild(btn) }) function stopSongs() { sounds.forEach(sound => { const song = document.getElementById(sound) song.pause() song.currentTime = 0; }) }知识点总结: html中声明一个 div 作为容器,提供js渲染audio元素.play() 播放audio元素.pause() audio元素.currentTime = 0 停止 Day10 Dad Jokes效果预览
知识点总结: 使用js发起异步http请求的两种方式 async await fetchPromise形式的链式调用 fetch then Day11 Event Keycodes其中一个应用场景是禁止回车提交表单。 function EnterStop(e){ if(e.keyCode == 13){ return false; } } Day12 FAQ collapse演示地址 toggle 函数的能力:本例中,如果元素有 active 属性,那么就删除 ative。如果没有则追加。做到了一种类似开关的效果。 const toggles = document.querySelectorAll('.faq-toggle') toggles.forEach(toggle => { toggle.addEventListener('click', () => { toggle.parentNode.classList.toggle('active') }) }) 重点2:css 伪类选择器类选择器被激活后,包裹住div,用了一个css中的伪类的技巧。 这个图是拿css来画出来的,可以观察代码实现,利用了css覆盖的知识 演示地址 重点 label 标签的 for 属性 html Question text Question Submit label for 当点击label标签内的文本后,就会触发绑定的表单元素。 上面的场景是点击问题的文字,input元素就会被激活![]() |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |