惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
GbyAI
GbyAI
Engineering at Meta
Engineering at Meta
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
H
Hackread – Cybersecurity News, Data Breaches, AI and More
WordPress大学
WordPress大学
博客园_首页
美团技术团队
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
J
Java Code Geeks
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
T
The Blog of Author Tim Ferriss
Microsoft Azure Blog
Microsoft Azure Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog
雷峰网
雷峰网
爱范儿
爱范儿

博客园 - 小院里的霍大侠

从一键部署热门游戏幻兽帕鲁到探索未来个人元宇宙 教你用JavaScript实现调皮的字母 教你用JavaScript实现乘法游戏 教你用JavaScript实现搜索展开 教你用JavaScript实现进度条 教你用JavaScript实现计数器 教你用JavaScript实现鼠标特效 教你用JavaScript获取大转盘 教你用Java实现动态调色板 教你用JavaScript实现表情评级 教你用JavaScript实现实时字符计数器 教你用CSS实现表单部件 Web入门:JavaScript文字动画 教你用JavaScript实现粘性导航 教你用JavaScript随机生成密码 教你用JavaScript完成轮播图 教你用Python制作BMI计算器 教你用JavaScript实现随机点名 三官庙巷-你记忆中的那条路?!
教你用JavaScript实现背景图像滑动
小院里的霍大侠 · 2022-12-23 · via 博客园 - 小院里的霍大侠


案例介绍

欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!
我们来用JavaScript编程实战案例,做一个背景图像滚动效果。滚动鼠标背景图像缩小,下方滑动出现文字。通过实战我们将学会obj.opacity方法、pageYOffset属性、obj.style.backgroundSize方法。

案例演示

向下滚动鼠标,背景图片缩小显示文字。

案例设计

JavaScript实战案例-背景图像滑动
我们来看此案例的思维导图设计,包括需求描述,页面设计和技术架构。
其中架构设计包含了HTML,CSS,JavaScript 共三部分代码。

源码学习

进入核心代码学习,我们先来看HTML中的核心代码。

<!-- 有个小院-兴趣编程 -->
<div class="bg-image" id="bg-image"></div>
<div class="container">
  <h1>有个小院-兴趣编程</h1>
  <p>
    有个小院是一个兴趣编程的学习社群,旨在帮助对编程感兴趣的朋友,可以帮助学习者,
    找到编程开发工作,掌握编程技能等等。
  </p>
  <p>
    霍大侠从事多年的互联网产品开发和教育工作,希望通过兴趣编程的方法,教大家学习编程开发。
    通过上手开发有趣项目的形式,产生一个迭代开发学习的过程。
  </p>
  <!-- 多个p元以下省略 -->
</div>

然后我们来编写核心的JavaScript代码,通过getElementById获取背景图片信息,添加滑动事件,设置背景图片的透明度,设置背景图片的大小。

//有个小院-兴趣编程
const bgImageEl=document.getElementById("bg-image");
addEventListener("scroll",()=>{
  updateImage();
});
function updateImage() {
  bgImageEl.opacity=1-pageYOffset/900;
  bgImageEl.style.backgroundSize=160-pageYOffset/12+"%";
}

总结思考

学习点
1、obj.opacity:设置透明度。
2、pageYOffset:pageYOffset 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。pageYOffset属性相等于scrollY属性。这些属性是只读的。
3、obj.style.backgroundsize:设置背景图片的大小。

问答
1、pageYOffset是只读的吗?
2、obj.style.backgroundsize是用来设置背景图片的大小的吗?

关注我,跟着我每天学习一点点,让你不再枯燥,不再孤单..

全网可搜:小院里的霍大侠, 免费获取简单易懂的实战编程案例。编程/就业/副业/创业/资源。
私微信:huodaxia_xfeater
二维码: http://www.yougexiaoyuan.com/images/weixin_huodaxia.jpg
公众号:有个小院(微信公众号:yougexiaoyuan)
github:yougexiaoyuan (视频源码免费获取)
(部分素材来源于互联网,如有保护请联系作者)