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


相关推荐

  • 分布式架构设计之电商平台

    分布式架构设计之电商平台何为软件架构?不同人的答案会有所不同,而我认为一个好的软件架构除了要具备业务功能外,还应该具备一定的高性能、高可用、高伸缩性及可拓展等非功能需求。而软件架构是由业务架构和技术架构两部分组成,因为有了业务结构才会催生出软件架构,进而来满足业务上的需求,所以,在做软件架构设计时,需要分为业务架构设计和技术软件架构设计,二者不可分离哦!那么,接下来就以本人实际工作中的电商平台为例,进行说明电商平台架构设计,因为不同行业产品系统不同业务不同,而催生的系统软件的实现要求及架构设计就不同了!

    2022年6月29日
  • JavaScript最受程序员欢迎,但薪资却是最少?

    JavaScript最受程序员欢迎,但薪资却是最少?

    2022年3月13日
  • Python保留指定位数的小数

    Python保留指定位数的小数Python保留指定位数的小数1’%.2f’%f方法(推荐)2format函数(推荐)3round()函数4不进行四舍五入,直接进行截断1’%.2f’%f方法(推荐)f=1.23456print(‘%.4f’%f)print(‘%.3f’%f)print(‘%.2f’%f)结果:1.23461.2351.23这个方法会进行四舍五入2…

    2022年8月12日
  • hashmap put过程面试_面试时问你base在哪儿

    hashmap put过程面试_面试时问你base在哪儿一个HashMap能跟面试官扯上半个小时关注安琪拉的博客1.回复面试领取面试资料2.回复书籍领取技术电子书3.回复交流领取技术电子书前言HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。开场面试官:你先自我介绍一下吧!安琪拉:我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不对,串场了,我是**,目…

    2022年8月22日
  • 搜索引擎公司百度

    搜索引擎公司百度本周,中国的搜索引擎公司百度最新发布的一篇报告介绍了中国 Android 用户的移动趋势。以下是一些有价值的统计数据:目前在中国,每天的Android活跃用户超过2.7亿这反映了,2013年第3季度的总体增长达到13%;上一年同一季度的增长率为55%大部分的Android设备销量(52%)来自升级至新Android手机的用户;48%来自首次购买智能手机的用

    2022年4月30日
  • Entity Framework 4 in Action读书笔记——第五章:域模型映射(Domain model mapping)(二)…

    Entity Framework 4 in Action读书笔记——第五章:域模型映射(Domain model mapping)(二)…

    2021年8月14日

发表回复

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

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