当前位置: 首页 > news >正文

基础项目实用案例

文章目录

    • 倒计时
    • 动态生成表格
    • 发布留言
    • 密码框验证
    • 模态框拖拽

倒计时

  function countDown(time) {var nowTime = +new Date();var inputTime = +new Date(time);var times = (inputTime - nowTime) / 1000;var d = parseInt(times / 60 / 60 / 24);d = d < 10 ? '0' + d : d;var h = parseInt(times / 60 / 60 % 24);h = h < 10 ? '0' + h : h;var m = parseInt(times / 60 % 60);m = m < 10 ? '0' + m : m;var s = parseInt(times % 60);s = s < 10 ? '0' + s : s;return d + '天' + h + '时' + m + '分' + s + '秒';}console.log(countDown('2023-3-19 21:00:00'));var date = new Date();console.log(date);

动态生成表格

 <style>table {width: 500px;margin: 100px auto;border-collapse: collapse;text-align: center;}td,th {border: 1px solid #333;}thead tr {height: 40px;background-color: #ccc;}</style>
</head><body><table cellspacing="0"><thead><tr><th>姓名</th><th>科目</th><th>成绩</th><th>姓名</th><th>姓名</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr></tbody></table>
    //先准备好数据var datas = [{name: '小王',subject: 'JavaScript',score: 100,scor: 100}, {name: '小张',subject: 'JavaScript',score: 98,scor: 100}, {name: '小赵',subject: 'JavaScript',score: 99,scor: 100}];//往tbody里创建行var tbody = document.querySelector('tbody');for (var i = 0; i < datas.length; i++) {var tr = document.createElement('tr');tbody.appendChild(tr);//行里面创建单元格for (var k in datas[i]) {//创建单元格var td = document.createElement('td');td.innerHTML = datas[i][k];tr.appendChild(td);}//创建有删除的单元格var td = document.createElement('td');td.innerHTML = '<a href="javascript:;">删除</a>';tr.appendChild(td);}var as = document.querySelectorAll('a');for (var i = 0; i < as.length; i++) {as[i].onclick = function () {tbody.removeChild(this.parentNode.parentNode);}}

发布留言

 <style>li a {float: right;}</style>
</head><body><textarea name="" id="">123</textarea><button>发布</button><ul><li>123</li></ul><script>//获取元素var btn = document.querySelector('button');var text = document.querySelector('textarea');var ul = document.querySelector('ul');//注册事件btn.onclick = function () {//创建元素if (text.value == '') {alert('您没有输入内容');return false;} else {var li = document.createElement('li');//添加元素li.innerHTML = text.value + "<a href='javascript:'>删除</a>";ul.insertBefore(li, ul.children[0]);//删除元素var as = document.querySelectorAll('a');for (var i = 0; i < as.length; i++) {as[i].onclick = function () {ul.removeChild(this.parentNode);}}}}

密码框验证

 <style>div {width: 600px;margin: 100px auto;}.message {display: inline-block;font-size: 12px;color: #999;background: url(images\Snipaste_2023-03-19_11-22-17.png) no-repeat left center;padding-left: 20px;}.wrong {color: red;background-image: url(images\Snipaste_2023-03-19_11-22-17.png);}.right {color: green;background-image: url(images\Snipaste_2023-03-19_11-22-17.png);}</style>
</head><body><div class="register"><input type="password" class="ipt"><p class="message">请输入6~16位密码</p></div><script>//获取元素var ipt = document.querySelector('.ipt');var message = document.querySelector('.message');//注册事件,失去焦点ipt.onblur = function () {if (this.value.length < 6 || this.value.length > 16) {message.className = 'message wrong';  //改变类名message.innerHTML = '您输入的位数不对';} else {message.className = 'message right';  //改变类名message.innerHTML = '正确输入';}}

模态框拖拽

 <style>.login-header {width: 100%;text-align: center;height: 30px;font-size: 24px;line-height: 30px;}ul,li,ol,dl,dt,dd,div,p,span,h1,h2,h3,h4,h5,h6,a {padding: 0px;margin: 0px;}.login {display: none;width: 512px;height: 280px;position: fixed;border: #ebebeb solid 1px;left: 50%;top: 50%;background: #ffffff;box-shadow: 0px 0px 20px #ddd;z-index: 9999;transform: translate(-50%, -50%);}.login-title {width: 100%;margin: 10px 0px 0px 0px;text-align: center;line-height: 40px;height: 40px;font-size: 18px;position: relative;cursor: move;}.login-input-content {margin-top: 20px;}.login-button {width: 50%;margin: 30px auto 0px auto;line-height: 40px;font-size: 14px;border: #ebebeb 1px solid;text-align: center;}.login-bg {display: none;width: 100%;height: 100%;position: fixed;top: 0px;left: 0px;background: rgba(0, 0, 0, .3);}a {text-decoration: none;color: #000000;}.login-button a {display: block;}.login-input input.list-input {float: left;line-height: 35px;height: 35px;width: 350px;border: #ebebeb 1px solid;text-indent: 5px;}.login-input {overflow: hidden;margin: 0px 0px 20px 0px;}.login-input label {float: left;width: 90px;padding-right: 10px;text-align: right;line-height: 35px;height: 35px;font-size: 14px;}.login-title span {position: absolute;font-size: 12px;right: -20px;top: -30px;background: #ffffff;border: #ebebeb solid 1px;width: 40px;height: 40px;border-radius: 20px;}</style>
</head><body><div class="login-header"><a id="link" href="javascript:;">点击,弹出登录框</a></div><div id="login" class="login"><div id="title" class="login-title">登录会员<span><a id="closeBtn" href="javascript:void(0);" class="close-login">关闭</a></span></div><div class="login-input-content"><div class="login-input"><label>用户名:</label><input type="text" placeholder="请输入用户名" name="info[username]" id="username" class="list-input"></div><div class="login-input"><label>登录密码:</label><input type="password" placeholder="请输入登录密码" name="info[password]" id="password" class="list-input"></div></div><div id="loginBtn" class="login-button"><a href="javascript:void(0);" id="login-button-submit">登录会员</a></div></div><!-- 遮盖层 --><div id="bg" class="login-bg"></div><script>// 1. 获取元素var login = document.querySelector('.login');var mask = document.querySelector('.login-bg');var link = document.querySelector('#link');var closeBtn = document.querySelector('#closeBtn');var title = document.querySelector('#title');// 2. 点击弹出层这个链接 link  让mask 和login 显示出来link.addEventListener('click', function() {mask.style.display = 'block';login.style.display = 'block';})// 3. 点击 closeBtn 就隐藏 mask 和 login closeBtn.addEventListener('click', function() {mask.style.display = 'none';login.style.display = 'none';})// 4. 开始拖拽// (1) 当我们鼠标按下, 就获得鼠标在盒子内的坐标title.addEventListener('mousedown', function(e) {var x = e.pageX - login.offsetLeft;var y = e.pageY - login.offsetTop;// (2) 鼠标移动的时候,把鼠标在页面中的坐标,减去 鼠标在盒子内的坐标就是模态框的left和top值document.addEventListener('mousemove', move)function move(e) {login.style.left = e.pageX - x + 'px';login.style.top = e.pageY - y + 'px';}// (3) 鼠标弹起,就让鼠标移动事件移除document.addEventListener('mouseup', function() {document.removeEventListener('mousemove', move);})})</script>
http://www.lryc.cn/news/166318.html

相关文章:

  • sprngboot整合kabana
  • PostgreSQL 数据备份恢复
  • 线性代数的本质(七)——特征值和特征向量
  • c语言进阶部分详解(指针初阶)
  • Socks5代理IP在跨境电商与网络游戏中的网络安全应用
  • Gin框架---基础综述
  • 排序算法-快速排序
  • 【Spring容器的启动过程】
  • 普通二本+转专业学计算机是什么感受
  • 力扣1、两数之和
  • 一百七十三、Flume——Flume写入HDFS后的诸多小文件问题
  • Android.mk中C++使用
  • K8S:Pod概念、分类及相关的策略
  • 【Java杂谈】#1 【MCA JAVA后端架构师】
  • Vue3路由
  • Android Studio的笔记--aidl实现和调用
  • 大模型从入门到应用——LangChain:代理(Agents)-[工具包(Toolkit)]
  • VR全景算不算好的创业项目?有哪些特性?
  • Spring系列文章:Spring集成Log4j2⽇志框架、整合JUnit
  • flink的网络缓冲区
  • 产品经理学习笔记
  • 【深入理解Linux锁机制】七、互斥体
  • UGUI画布加载优化
  • SEC的下一步目标是什么?过时的证券法与加密货币行业,哪个会被先淘汰?
  • Kafka3.0.0版本——消费者(独立消费者消费某一个主题数据案例__订阅主题)
  • 笔记本多拓展出一个屏幕
  • Redis 高可用及持久化
  • Java高级: 反射
  • 【计算机网络】什么是WebSocket?
  • Apinto 网关: Go语言实现 HTTP 转 gRPC