需求:利用JS事件与操作元素复刻--世纪佳缘(用户名、显示隐藏内容)。

开发环境:VScode、Edge

参考网站:世纪佳缘官网注册截面头部

包含算法:

1、利用JS操作元素、事件以及if分支,修改表单获取焦点和失去焦点时的样式。

2、利用JS操作元素、事件以及循环的方法定位样式背景(其他登录),以及设置鼠标经过时变化背景图片的需求。

代码:

<!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>19-操作元素课后作业</title><style>.header {margin: 0;/* background-color: pink; */}.nav {position: relative;margin: auto;width: 1030px;height: 70px;/* background-color: skyblue; */}.nav a,.pic1 {float: left;}.nav .id {position: absolute;top: 20px;left: 325px;width: 135px;height: 24px;border: 1px solid rgb(217, 217, 217);color: rgb(170, 170, 170);outline: none;text-indent: 8px;}.nav .pwd {position: absolute;top: 20px;left: 482px;width: 135px;height: 24px;border: 1px solid rgb(217, 217, 217);color: rgb(170, 170, 170);outline: none;text-indent: 8px;}/*变换后的样式一定要写在后面 */.nav .id_onfocus,.nav .pwd_onfocus {border: 1px solid rgb(255, 214, 219);}.nav button {position: absolute;top: 20px;left: 630px;width: 70px;height: 27px;color: #fff;background-color: rgb(0, 152, 194);border: 0;cursor: pointer;}.nav button:hover {background-color: rgb(0, 139, 177);}.nav .load_on {float: left;margin-top: 25px;margin-left: 360px;font-size: 12px;color: #aaa;}.nav ul {margin-top: 25px;float: left;padding-left: 0;}.nav ul li {float: left;/* 清除li前面的点 */list-style: none;width: 16px;height: 16px;margin-left: 5px;background: url(images/其他登录.gif) no-repeat;}.nav .hw_user,.forget_pwd {float: left;padding-left: 20px;margin-top: 23px;font-size: 12px;color: #aaa;text-decoration: none;}.hw_user:hover,.forget_pwd:hover {color: rgb(136, 136, 136);text-decoration: underline;}</style></head>
<!-- 1. 世纪佳缘 用户名 显示隐藏内容
2. 京东关闭广告(直接隐藏即可)
3. 新浪下拉菜单(微博即可)
4. 开关灯案例(见素材) --><body><div class="header"><div class="nav"><a href="#" target="_blank"><img src="data:images/世纪佳缘.jpeg" alt="新建" title="新建页面"></a><span class="pic1"><img src="data:images/婚恋网站.png" alt="婚恋网站" ></span><input type="text" class="id" value="邮箱/ID/手机"><input type="text" class="pwd" value="密码"><script>//1. 获取元素var id = document.querySelector('.id');console.log(id);var pwd = document.querySelector('.pwd');console.log(pwd);// 2. 注册事件  获取焦点事件id.onfocus = function() {console.log('得到了焦点');if (this.value == '邮箱/ID/手机') {this.value = '';}// this.value = '';// 变换样式id.className = "id id_onfocus";}// 失去焦点事件id.onblur = function() {if (this.value == '') {this.value = '邮箱/ID/手机';}//  变换样式id.className = "id";}// 3. 注册事件  获取焦点事件pwd.onfocus = function() {console.log('得到了焦点');if (this.value == '密码') {this.value = '';}this.type = 'password';// this.value = '';// // 变换样式pwd.className = "pwd pwd_onfocus";}// 失去焦点事件pwd.onblur = function() {console.log('失去了焦点');if (this.value == '') {this.type = 'text';this.value = '密码';}// 变换样式pwd.className = "pwd";}</script><button>登录</button><span class="load_on">其他登录</span><ul class="load_other"><a href="#"><li></li></a><a href="#"><li></li></a><a href="#"><li></li></a><a href="#"><li class="load_wx"></li></a></ul><script>// 遍历图片// 1. 获取元素var lis = document.querySelectorAll('li');// console.log(lis);// 注册事件  遍历图片for (var i = 0; i < lis.length; i++) {// 背景图片x坐标大小与lis[]的索引号的关系var load_index = -(i * 16);console.log(load_index);lis[i].style.backgroundPosition = '1' * load_index + 'px 0px';console.log(lis[i]);}// 修改第四个为微信登录lis[lis.length - 1].style.background = 'url(images/login_wx.jpg)';// console.log(lis[lis.length - 1]);</script><script>//改变样式// 1. 注册事件 修改背景图片// QQ-------------// 经过lis[0].onmouseover = function() {this.style.backgroundPosition = '0px -16px';// for (var j = 0; j < lis.length; j++){//     var // }}// 离开lis[0].onmouseout = function() {this.style.backgroundPosition = '0px 0px';}// wb-----------// 经过lis[1].onmouseover = function() {this.style.backgroundPosition = '-16px -16px';// for (var j = 0; j < lis.length; j++){//     var // }}// 离开lis[1].onmouseout = function() {this.style.backgroundPosition = '-16px 0px';}// bd---------// 经过lis[2].onmouseover = function() {this.style.backgroundPosition = '-32px 0px';// for (var j = 0; j < lis.length; j++){//     var // }}// 离开lis[2].onmouseout = function() {this.style.backgroundPosition = '-32px -16px';}// wx----------// 经过lis[3].onmouseover = function() {this.style.background = 'url(images/login_wxh.jpg)';}// 离开lis[3].onmouseout = function() {this.style.background = 'url(images/login_wx.jpg)';}</script><a href="#" class="hw_user">海外用户登录</a><a href="#" class="forget_pwd">忘记密码</a></div></div></body></html>
</body></html>

JS事件与操作元素--世纪佳缘(用户名、显示隐藏内容)--黑马程序员pink老师JS第P25-操作元素总结及作业1相关推荐

  1. js世界佳缘用户名显示隐藏内容 pink老师

    在这里插入代码片 ```<!DOCTYPE html> <html><head><meta charset="utf-8">< ...

  2. 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程(复合选择器,元素显示模式,背景)

    一.基础班学习路线 三.CSS3基础 1.Emmet语法 emmet语法生成html标签 <!DOCTYPE html> <html lang="en"> ...

  3. 黑马程序员pink老师前端入门教程,零基础必看的JavaScript基础语法视频教程(DOM,事件高级)

    DOM 节点操作 父节点和子节点 第一个子元素和最后一个子元素 新浪下拉菜单案例 兄弟节点 创建和添加节点 简单版发布留言案例 删除节点 删除留言案例 复制节点 动态生成表格-创建学生数据 动态生成表 ...

  4. 如何查看jsplumb.js的API文档(YUIdoc的基本使用)#华为云·寻找黑马程序员#

    [摘要] 介绍前端文档工具YUIdoc 示例代码托管在:http://www.github.com/dashnowords/blogs 一.问题描述 最近向一些同事推荐了网页中实现流程图绘制的工具库j ...

  5. js的项目1:世纪佳缘、京东关闭广告、新浪下拉菜单、开关灯案例

    1.世纪佳缘 用户名 显示隐藏内容 <!DOCTYPE html> <html lang="en"> <head><meta charse ...

  6. 操作元素总结及作业1——世纪佳缘登录案例-黑马pink老师

    在黑马前端教程里面,操作元素部分有这样一个案例就是世纪佳缘的登陆案例. 实现:登录的隐藏内容,以及密码框的设计,点击后颜色的变化. 简单的算法:利用JS操作元素.事件以及if分支,修改表单获取焦点和失 ...

  7. 世纪佳缘回应杭州小吴相亲事件:负有不可推卸的责任

    新浪科技讯 2月25日晚间消息,在一个多月之后,世纪佳缘今日在其官方微博回应了"杭州小吴相亲"事件. 世纪佳缘表示,其服务部首先负有不可推卸的责任.而在事件经媒体曝光后,公关部门及 ...

  8. python多线程爬取世纪佳缘女生资料并简单数据分析

    一. 目标 ​ 作为一只万年单身狗,一直很好奇女生找对象的时候都在想啥呢,这事也不好意思直接问身边的女生,不然别人还以为你要跟她表白啥的,况且工科出身的自己本来接触的女生就少,即使是挨个问遍,样本量也 ...

  9. 【转】推荐系统入门实践:世纪佳缘会员推荐(完整版)

    推荐系统入门实践:世纪佳缘会员推荐(完整版) 版本 作者 联系 日期 1.0 周巍然 weiran.chow@gmail.com 20120723 2.0 严 程 supersteven198701@ ...

最新文章

  1. android selector的用法解析
  2. 吴军 --《硅谷之谜》读书笔记
  3. 使用docker在CentOS7上搭建WordPress
  4. Object to XML
  5. P1115 最大子段和(python3实现)
  6. 【华为云技术分享】云小课 | “VPC连接”知多少
  7. TensorFlow2.0:模型的保存与加载
  8. Mybatis Plus 连表操作及分页
  9. jpa mysql 配置文件_Spring+JPA+MySQL的配置文件
  10. 数据禾|2001年东四盟地区植被类型分布数据
  11. esphome 中使用bme280读取温度、湿度、气压信息
  12. 2017云栖大会Tech Insight亮点大剧透
  13. C#调用报表生成器成功案例示例研究
  14. a113 智能音箱芯片方案_主流智能音箱全拆解,内部分毫必见
  15. uniapp --自我学习
  16. ubantu + anaconda + TensorFlow 1.13.1
  17. 黑帽实战 | 给大家讲讲一个二类电商的大佬的故事!
  18. java中的双冒号操作符
  19. 什么是UNIX时间戳? 时间戳有什么用?
  20. Adobe 及 Acrobat Reader 下载链接(FTP)

热门文章

  1. javase,初级java入门由浅入深-任亮-专题视频课程
  2. 二(1)、MySQL语句优化—优化WHERE子句
  3. CAD电气制图中怎么用圆弧连接导线?
  4. WIN10打印机如何连接到计算机,Win10怎么连接打印机设备?
  5. Shell脚本编程实践——第3关:使用Shell脚本创建文件目录
  6. Kotlin开发第四天,探究Fragment
  7. 前端开发者如何构建UCD的中长期前端开发能力与团队
  8. python php java地铁站自动售票系统nodejs+vue+elementui
  9. 使用一片四运放LM324组成所需电路
  10. 离散数学——集合论(一)