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


相关推荐

  • flume与kafka应用场景解析「建议收藏」

    flume与kafka应用场景解析「建议收藏」今天也要努力学习flume与kafka是同级的一个消息传输通道:但是有各自的定位1:kafka定位消息队列,它可以有许多的生产者和消费者,并可以共享一个主题topic队列。而flume是定位数据传输,相比下,flume是一个专用工具被设计为旨在往HDFS,HBASE发送数据。它对H…

    2022年10月14日
    2
  • 撸一个简易聊天室,不信你学不会实时消息推送(附源码)

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:糊糊糊糊糊了 www.cnblogs.com/rynxiao/p/13825438.html 分不清轮询、长轮…

    2021年6月26日
    109
  • 【SpringBoot】45、SpringBoot中整合JWT实现Token验证(注解篇)「建议收藏」

    前言上篇文章,我们已经在SpringBoot中整合了JWT并实现了Token验证,那我们在实际应用中就会发现,如果每个视图层(controller)都手动验证token,代码就会显得特别臃肿,本篇文章主要为了解决该问题。如果对整合JWT还不熟悉的朋友,可以先看看我的这篇博客:【SpringBoot】四十四、SpringBoot中整合JWT实现Token验证自定义注解1、创建自定义注解packagecom.asurplus.common.annotation;import

    2022年4月14日
    123
  • ant power什么意思_ANT+是什么意思[通俗易懂]

    展开全部ANT+是个在运动设备中进行低功耗636f70793231313335323631343130323136353331333366306563数据传输的领导标准。ANT+是在ANT传输协议上的超低功耗版本,它是为健康、训练和运动专门开发的。ANT组织是一个开放的专门国际组织他们一起工作开发ANT无线协议,ANT无线是Dynastream的一个子部门,由Garmin拥有。该协议专门针对运动装…

    2022年4月6日
    55
  • UART和USART 有区别

    UART和USART 有区别UART:universalasynchronousreceiverandtransmitter通用异步收发器          [BusSignal]  TX ,RX USART:universalsynchronousasynchronousreceiverandtransmitter通用同步异步收发器          [BusSi

    2022年5月19日
    31
  • 硬件SPI控制ST7789V「建议收藏」

    文章目录前言一、能用的方法有那些?1.利用硬件UART模拟SPI,实现9位数据发送2.搭建一个数字逻辑电路,人为实现9位spi发送3.发送两组8位SPI二、具体操作1.具体实现总结前言这段时间闲着没事,决定自己做个手表玩玩,参考了一些开源项目和数据手册,决定主控使用STM32F411CEU6,屏幕选用了淘宝一家商家的ST7789V主控的240*240分辨率的圆形tft屏幕。利用商家给的软件spi例程成功将屏幕点亮之后,尝试使用改为硬件spi的方式,加快屏幕的刷新速度但是尝试了多种方案后始终无法点亮,

    2022年4月9日
    605

发表回复

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

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