百度换肤效果

零基础入门,只要有兴趣,20分钟教你学会百度换肤效果。没错,只需要20行代码就能搞。

废话少说,直接上效果:

先了解一下html节点对象

DOM的树形结构(节点树)

html中的所有标签,文本,空格都可以叫做节点对象。

我们可以通过DOM的选择器 来操作节点:

获取节点对象

1.通过标签id 获取节点

var obj = document.getElementById("id名称")
描  述:获取网页指定id名字的元素,返回一个对象语  法:var obj = document.getElementById("id名称")参  数:id名称(注:需要加引号)返回值:对象,对象的属性就是HTML标签的属性

2.通过标签名称获取节点

var obj = document.getElementsByTagName("标签名称")
功  能:获取网站指定标签名称的元素语  法:var obj = document.getElementsByTagName("标签名称")参  数:标签名称(注:需要加引号)返回值:返回一个集合(数组),集合中每个元素都是一个单独标签对象

3.通过标签name获取节点

var obj = document.getElementsByName("标签name名称")
功  能:通过标签的name值获取元素语  法:var obj = document.getElementsByName("标签name名称")参  数:标签的name名称(注:需要加引号)返回值:返回值是数组,通常用来获取有name的input的值

4.通过标签类名获取节点

var obj = document.getElementsByClassName()  ("标签的class属性名称")
功  能:通过class名获取元素语  法:var obj = document.getElementsByClassName()  ("标签的class属性名称")参  数:标签的class属性名称(注:需要加引号)返回值:返回值是数组

注:
不是所有标签都有name值;
在低版本的浏览器中,getElementsByName和getElementsByClassName有兼容性

ES5选择器:强大到超乎想象,支持IE8+。ECMAScript借鉴了jQuery选择器的

document.querySelector();          //返回匹配到的第一个元素
document.querySelectorAll();       //返回一个数组,哪怕只有一个元素

可以直接填写,我们需要找的标签名,类名,id名称


给事件绑定点击事件

直接给节点绑定事件

/获取节点对象节点对象.onclick = function(){}

通过监听器给节点绑定点击事件

/获取节点对象节点对象.addEventListener(function(){})

了解的差不多了 我们可以从这里开始写我们的百度换肤具体代码:

先再一个div盒子中存放五张我们需要的图片:

<body><div><img src="img/百度换肤1.jpg"/><img src="img/百度换肤2.jpg"/><img src="img/百度换肤3.jpg"/><img src="img/百度换肤4.jpg"/><img src="img/百度换肤5.jpg"/></div>
</body>


运行后,五张图片就会这样呈现再浏览器页面中

然后我们通过css来给他们设置样式:

CSS:

<style type="text/css">div{margin: 50px auto;width: 500px;height: 100px;background-color: white;display: flex;justify-content: space-around;}div img{width: 90px;height: 98px;}body{background: url(img/百度换肤1.jpg)  center;}</style>

我们要将五张图片设置一定的大小,放在div盒子中,将div放在body中间。
再将其中一张图片作为body的背景图片。


下面也是最重要的一部来实现背景图片的切换。
我们需要用到DOM对节点对象的操作

1.先获取我们需要操作的节点

也就是所有图片节点

var box = document.querySelector('div').querySelectorAll('img');

注意:这里获取的是全部图片节点,他们存放一起
然后我们需要给每张图片绑定点击事件
我们需要遍历来绑定

for (var i = 0;i < box.length;i++) {box[i].onclick = function() {console.log(this);}}

这里我们注意this的指向可以将他打印出来,看他是否指向我们的操作的节点对象,

确定是指向操作的节点对象后,当点击当前图片对象后,将它的路径设置给body

document.body.style.backgroundImage = 'url('+this.src+')';

最后整体js代码:

<script type="text/javascript">var box = document.querySelector('div').querySelectorAll('img');for (var i = 0;i < box.length;i++) {box[i].onclick = function() {console.log(this);document.body.style.backgroundImage = 'url('+this.src+')';}}</script>

码源:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">div{margin: 50px auto;width: 500px;height: 100px;background-color: white;display: flex;justify-content: space-around;}div img{width: 90px;height: 98px;}body{background: url(img/百度换肤1.jpg)  center;}</style></head><body><div><img src="img/百度换肤1.jpg"/><img src="img/百度换肤2.jpg"/><img src="img/百度换肤3.jpg"/><img src="img/百度换肤4.jpg"/><img src="img/百度换肤5.jpg"/></div><script type="text/javascript">var box = document.querySelector('div').querySelectorAll('img');for (var i = 0;i < box.length;i++) {box[i].onclick = function() {console.log(this);document.body.style.backgroundImage = 'url('+this.src+')';}}</script></body>
</html>

看完这篇博文后,怎么样?是否你已经迫不及待要试着来敲一下这个效果了。

觉得博主写的不错的,可以关注三连,更多的好玩开发案例每天更新~~

一个小时,零基础入门,看完这篇30行代码 教你实现百度换肤!相关推荐

  1. 视频教程-5小时零基础入门小程序云开发-微信开发

    5小时零基础入门小程序云开发 码农一枚,非著名全栈开发人员.分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑. 多年全栈开发经验,擅长小程序,java,安卓,web前端开发. 邱石 ¥29.0 ...

  2. Dart语言基础,看完这篇文章就够了(二)

    文章内容是我在学习Flutter过程中对知识点的梳理和总结.如有不对的地方,欢迎指出. 本文承接Dart语言基础,看完这篇文章就够了(一),进一步了解Dart语法知识. 文章目录 1 流程控制语句 2 ...

  3. 九宫怎么排列和使用_广告视频配音剪映零基础入门教程第二十三篇:剪辑之九宫格教程...

    朋友圈最火九宫格视频你们知道是怎样制作的吗?我们常常在玩朋友圈的时候想用九宫格照片,但是你们有没有遇到这种情况,想玩九宫格却发现找不到那么多能用的照片,那这时候怎么办呢?玩腻了平常图片的发法,今天我们 ...

  4. 零基础学python-看完这篇,零基础也知道怎么学Python

    原标题:看完这篇,零基础也知道怎么学Python 近期 ,不少读者后台询问类似这样的一些问题 : 大佬 ,我是一个小白 ,很想学习 Python ,它能做些什么啊 ?您这边有什么好的入门建议吗 ? 坦 ...

  5. 零基础入门学完Java?如何写出一份漂亮的简历,建议如下

    现在互联网产业非常的好,很多人想要转行做Java开发,也就是我们常说的程序员,之所以这么多人想要转行程序员,就是因为程序员的工作工资比很多工作的工资高几倍.在这个每个人都缺钱的时代,每个人都想多赚钱. ...

  6. python零基础入门(完整版)

    1python软件下载 我们需要下载python语言翻译器(也就是运行环境),和一个用来写python的软件,用它写python语言比较方便 首先打开百度,下载org 然后点击下载 然后选择一个稳定版 ...

  7. 程序异常异常代码: 0xc0000005_Java基础:看完这篇你还怕碰到异常吗?

    前言 在日常的开发以及平时的学习练习中,异常相信对于大家来讲并不陌生,但是对于异常的具体使用.底层实现以及分类等等可能并不是很了解.今天我就抽出了一点时间系统的整理了异常的各个知识点,希望能够帮助到大 ...

  8. python从入门到撩妹 2 —— 30行代码实现520小彩蛋

    作者自我介绍:大爽歌, b站小UP主 ,直播编程+红警三 ,python1对1辅导老师 . 本文对应视频版本: 520小彩蛋 python32行代码实现 -- python从入门到撩妹-2 1 彩蛋效 ...

  9. 数学建模速成! 两小时零基础入门 MATLAB 教程(一)—— Matlab常用操作和基本语法

    Matlab常用操作和基本语法 没有涉及到编程的内容, 就是介绍一些MATLAB软件的操作, 和简单的语法如注释输出之类的 目录 文章目录 Matlab常用操作和基本语法 1. help查看函数说明 ...

  10. 数学建模速成!两小时零基础入门MATLAB教程(六)—— 定义和调用函数

    MATLAB定义函数 文章目录 MATLAB定义函数 1. 常见问题 2. 如何定义 2.1语法 2.2举例 3. 如何使用 3.1 得到返回值 3.2 将定义的函数作为参数传递给其他函数(函数指针) ...

最新文章

  1. android ptrace注入
  2. mysql数据库事务_MySQL数据库的事务管理
  3. RepVGG算法详解
  4. TensorFlow 基本操作
  5. lwip协议栈在linux运行,LwIP协议栈在uCOS II下的实现
  6. 一分钟解决“仅限中国大陆地区播放”
  7. 【LeetCode】剑指 Offer 46. 把数字翻译成字符串
  8. Linux运维第一课----服务器硬件
  9. php社工源码,社工库源码搜集
  10. 商业创业融资计划书PPT模板
  11. ICT通信运营企业的重建之服务升级(二)----ICT技术及产品种类
  12. 计算机教师招聘10分钟试讲,小学数学教师招聘考试面试,要求是一个小时备课,试讲十分钟,怎么准备?求助各位前辈~...
  13. 顶尖作者介绍 | 心理学领域研究“情绪”的大牛们有哪些?
  14. 汇编语言-实验5(学习打卡Day10)
  15. “非正常死亡”何时休?永不消失的压力能化解吗?
  16. 回收站没有刚刚删除的文件原因|找回方法|解决方案
  17. 重庆OA办公系统目前推出PC端、移动终端(安卓、IOS、平板)- 上弦科技
  18. 一个表情包引发的悬案!
  19. 杜比dss200服务器系统升级包434,杜比数字影院系统DSS200软件升级指南(初稿).pdf
  20. Worthington 脱氧核糖核酸酶说明书

热门文章

  1. 将数组文件转换成bin格式文件
  2. 红帽linux系统安装指导
  3. 乾颐堂现任明教教主(2014年课程)TCPIP协议详解卷一 第八节课笔记
  4. PLC电力线载波简介
  5. 算法在计算机中的作用
  6. win7美化_桌面美化之 windows10
  7. 阿里巴巴矢量图标网使用的小方法
  8. 如何选择配置管理工具
  9. 浅谈对软件工程的认识与理解
  10. 衡量计算机主机性能的指标,计算机性能