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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle导出dmp文件命令_linux强制命令

    oracle导出dmp文件命令_linux强制命令SRVCTL是ORACLE9iRAC集群配置管理的工具。本文是对SRVCTL的所有命令进行详细说明的一篇参考文档。读者对象:ORACLE9iRAC数据库集群管理员。注:RAC:RealApplicationClustersSRVM:ServerManagementSRVCTLAdd添加数据库或实例的配置信息。在增加实例中,与-i一起指定的名字应该与INSTANCE_NAME和 ORAC…

    2022年9月3日
    3
  • java之MD5

    java之MD5publicclassMD5{ staticfinalintS11=7; staticfinalintS12=12; staticfinalintS13=17; staticfinalintS14=22; staticfinalintS21=5; staticfinalintS22=9; staticfinalintS23=14; staticfinalintS24=20; stat..

    2022年7月8日
    23
  • html下划线[通俗易懂]

    html下划线[通俗易懂]<spanstyle=”text-decoration:underline;”> 划重点</span>

    2022年6月4日
    23
  • Java BigDecimal加减乘除运算[通俗易懂]

    Java BigDecimal加减乘除运算[通俗易懂]效果:代码:/****/packagecom.example.demo;importjava.math.BigDecimal;/****<p>*Description:*</p>**@authorxuyangwei**@date2020年7月16日**/publicclassBigdecimalTest{ publicstaticvoidmain(String[]ar

    2022年5月5日
    76
  • plsqldev 日期格式

    plsqldev 日期格式之前装win7+oracle11R2(64)+ instantclient_11_2(32)+PLSQL(32)费了很大力气,见前一个帖子,后果就是plsql启动时读的环境变量位置是五花八门,可能是注册表中oraclehone下的,也可能是instantclient下的或者是电脑高级属性中环境变量,当然start.bat中的设置优先。  plsql中执行以下语…

    2022年5月10日
    79
  • golang激活码2022.01.13【2022.01最新】

    (golang激活码2022.01.13)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1M2OME2TZY-eyJsaWNlb…

    2022年4月2日
    298

发表回复

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

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