js循环精灵图

js循环精灵图js循环精灵图循环精灵图可以不用在给每一个小块一一的修改位置。左侧是一大张背景图右侧是成品是预览图这个背景图的位置其实是有规律的,每两张之间间隔一个固定长度,这个固定长度刚好等于一个小图标的长度,我们使用的这个图间隔44px。 <scripttype=”text/javascript”> varlis=document.querySelectorAll…

大家好,又见面了,我是你们的朋友全栈君。

js循环精灵图

循环精灵图可以不用在给每一个小块一 一的修改位置。
主要原理是找到整张的背景图与li的下标的数学关系
左侧是一大张背景图 右侧是成品是预览图

在这里插入图片描述在这里插入图片描述

这个背景图的位置其实是有规律的,每两张之间间隔一个固定长度 为20px,小图标的长度为24px,我们就可以得出这个间隔44px。然后使用这个间隔移动这个大背景图的位置达到精灵图的效果。我们的每一个span中都会有一个 background-image 因此我们只需要关注 大背景图的纵坐标上的移动。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css"> ul { 
     width: 216px; } li { 
     width: 70px; height: 70px; list-style: none; float: left; border: 1px solid black; text-align: center; } span { 
     background: url(./jingling.png) 0 0 no-repeat; display: inline-block; width: 24px; height: 24px; margin-top: 11px; } </style>
		<script type="text/javascript"> window.onload = function() { 
     var spans = document.getElementsByTagName('span') //核心代码 for (var i = 0; i < spans.length; i++) { 
     var index = i * 44; spans[i].style.backgroundPosition = "0 -" + index + "px"; //这个值 是负的原因是我们的大背景图是向上移动的 } } </script>
	</head>
	<body>
		<ul>
			<li> <span></span> </li>
			<li> <span></span> </li>
			<li> <span></span> </li>
			<li> <span></span> </li>
			<li> <span></span> </li>
			<li> <span></span> </li>
			<li> <span></span> </li>
			<li> <span></span> </li>
			<li> <span></span> </li>
		</ul>
	</body>
</html>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142018.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Quartus II 13.0波形仿真

    Quartus II 13.0波形仿真之前一直找不到关于QuartusII13.0的波形仿真,然后百度的都是说quartusii9.0之后的版本就没有这个功能了,只能再下一个modelsim之类的仿真软件进行波形仿真。但是后来偶然看到了chaichai-icon大佬的QuartusII13.0sp1(64-bit)使用教程,发现不需要另下其他的软件也能够完成仿真。于是我又查阅了一些网络上的资料,基本说法是Quartus…

    2022年10月16日
    3
  • 讨论JDK的File.equal()

    讨论JDK的File.equal()

    2022年1月17日
    40
  • 国产 Linux 发行版再添新成员,CutefishOS 系统简单体验

    国产 Linux 发行版再添新成员,CutefishOS 系统简单体验本文转载自IT之家随着众多开发者的加入,现代化且功能强大的Linux发行版不断涌现。现在国产Linux发行版再多一员大将,其名为CutefishOS,它在Ubuntu上提供了桌面环境,在国外Linux开源社区相当受欢迎。CuteFishOS的目标是“做更好的桌面操作系统”。为此,开发者使用KDE框架、Qt和KDEPlasma5构建一个新的桌面环境(’CuteFishDE’),似乎还借鉴了深度操作系统(DDE)、MATE和JingOS。据官网介绍,这是一款简

    2022年5月16日
    112
  • IIS 发生意外错误 0x8ffe2740「建议收藏」

    IIS 发生意外错误 0x8ffe2740「建议收藏」IIS发生意外错误0x8ffe2740 1、IIS发生意外错误0x8ffe2740原因如果系统中存在端口冲突就有可能发生本情况.IIS默认使用80端口进行HTTP通信.如果除IIS外的应用程序正在运行并且正在相同的IP地址上使用80端口,在您试图使用…

    2022年7月14日
    17
  • 图片懒加载原理「建议收藏」

    /**图片的懒加载*只有当页面滚动到图片位置显示的时候才去加载图片;一开始图片的位置可以方一张小的默认图*优势:提升页面的加载速度*在移动端省流量;**实现的原理:监听页面滚动;当页面滑倒图片位置的时候,再去让图片显示(图片的src换成真正的链接);**//**需求:当页…

    2022年4月16日
    46
  • 数据库的概念模型,联系,E-R模型的设计方法「建议收藏」

    概念模型的基本概念:表示概念模型的最常用模型是实体-联系模型(Entity-RelationshipModel,简称E-R模型)E-R模型中,数据的结构被表示为“实体-联系”图。(E-R图)图中有三个主要的元素类型:实体集,属性和联系。联系:两个实体集之间的联系可归纳为以下三类:1)一对一联系(1:1) 2)一对多联系(1:n)和多对一联系(n:1)3)多对多联…

    2022年4月11日
    57

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号