利用for循环设置一组元素的精灵图背景

如果用css做,需要每个小盒子都设置一遍,才能得到相应的图标

分析:

1、首先精灵图图片排列是有规律的

2、核心:利用for循环,修改背景位置

精灵图来源:卷皮官网

分析:先用盒子将内容进行排版

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.dabox {width: 320px;height: 400px;margin: 0 auto;margin-top: 10px;border: 1px solid black}.box {width: 300px;height: 350px;background-color: pink;margin-top: 10px;margin-left: 10px;}.tu {width: 24px;height: 24px;display: inline-block;margin-left: 20px;background-image: url(ct_icons.png);vertical-align: text-top;}dd {background-color: white;width: 150px;height: 50px;margin-left: 0px;float: left;position: relative;text-align: center;line-height: 50px;border-bottom: 1px solid grey;}a {font-size: 15px;color: black;text-decoration: none;}p {position: absolute;left: 145px;top: -10px;display: inline-block;text-align: center;line-height: 30px;color: grey;}</style>
</head><body><div class="dabox"><div class='box'><dl><dd><a href="#"><div class="tu"></div> 女装<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 男装</a></dd><dd><a href="#"><div class="tu"></div> 鞋子<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 箱包</a></dd><dd><a href="#"><div class="tu"></div> 母婴<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 美妆</a></dd><dd><a href="#"><div class="tu"></div> 居家<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 家纺</a></dd><dd><a href="#"><div class="tu"></div> 文体<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 美食</a></dd><dd><a href="#"><div class="tu"></div> 数码<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 电器</a></dd><dd><a href="#"><div class="tu"></div> 内衣<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 配饰</a></dd></dl></div></div><script>var tu = document.querySelectorAll('.tu')for (var i = 0; i < tu.length; i++) {var index = i * 24tu[i].style.backgroundPosition = '-' + index + 'px 0px'}</script>
</body></html>

添加鼠标经过时,图片变成红色:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.dabox {width: 320px;height: 400px;margin: 0 auto;margin-top: 10px;border: 1px solid black}.box {width: 300px;height: 350px;background-color: pink;margin-top: 10px;margin-left: 10px;}.tu {width: 24px;height: 24px;display: inline-block;margin-left: 20px;background-image: url(ct_icons.png);vertical-align: text-top;background-position-y: 0px;}dd {background-color: white;width: 150px;height: 50px;margin-left: 0px;float: left;position: relative;text-align: center;line-height: 50px;border-bottom: 1px solid grey;}a {font-size: 15px;color: black;text-decoration: none;}p {position: absolute;left: 145px;top: -10px;display: inline-block;text-align: center;line-height: 30px;color: grey;}a:hover .tu {background-position-y: -24px;}a:hover {color: red}</style>
</head><body><div class="dabox"><div class='box'><dl><dd><a href="#"><div class="tu"></div> 女装<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 男装</a></dd><dd><a href="#"><div class="tu"></div> 鞋子<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 箱包</a></dd><dd><a href="#"><div class="tu"></div> 母婴<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 美妆</a></dd><dd><a href="#"><div class="tu"></div> 居家<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 家纺</a></dd><dd><a href="#"><div class="tu"></div> 文体<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 美食</a></dd><dd><a href="#"><div class="tu"></div> 数码<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 电器</a></dd><dd><a href="#"><div class="tu"></div> 内衣<p>|</p></a></dd><dd><a href="#"><div class="tu"></div> 配饰</a></dd></dl></div></div><script>var tu = document.querySelectorAll('.tu')for (var i = 0; i < tu.length; i++) {var index = i * 24tu[i].style.backgroundPositionX = '-' + index + 'px'}</script>
</body></html>

主要修改的是背景图的x,y坐标,注意精灵图的使用,并且再script中驼峰命名法的书写方式

注意图片和文字的对齐方式: vertical-align: text-top;

var index = i * 24
            tu[i].style.backgroundPositionX = '-' + index + 'px'

注意书写

JS循环精灵图背景-遍历背景图片相关推荐

  1. 本节作业之显示不同问候语、显示密码、关闭二维码、循环精灵图背景、显示隐藏文本框内容、密码框格式提示错误、京东关闭广告、新浪下拉菜单、开关灯、换肤、表格隔行变色、表单取消全选、tab栏切换、发布删除留言

    本节作业之显示不同问候语.显示密码.关闭二维码.循环精灵图背景.显示隐藏文本框内容.密码框格式提示错误.京东关闭广告.新浪下拉菜单.开关灯.换肤.表格隔行变色.表单取消全选.tab栏切换.发布删除留言 ...

  2. JS入门笔记九:循环精灵图案例

    在开发中,精灵图往往是按照一定规律制作的,前端程序员往往可以借助其规律来快速制作相应的图标,提升开发效率. 操作步骤: 1.寻找精灵图的排布规律 2.按照规律改变背景位置 以淘宝为例 这是淘宝精灵图的 ...

  3. CSS 精灵图的使用;精灵图不见了;如果一次性设置多个精灵图

    1. 先来一波排错: 为什么精灵图无法显示? 容器太小,图片显示不全 容器是行内元素,没有内容,宽高没有撑开.可以转化为块级/行内块,设置宽高 背景图片的url地址写错 检查背景图片绝对引用/相对引用 ...

  4. CSS基础「七」精灵图 \ 字体图标 \ 三角 \ 用户界面样式 \ 页面初始化

    本篇文章为 CSS 基础系列笔记第七篇,参考 黑马程序员pink老师前端入门教程 其他CSS基础相关文章: CSS基础「一」基础选择器 / 字体属性 / 文本属性 / 三种样式表 CSS基础「二」复合 ...

  5. android 精灵图的使用方法,css sprites(精灵图)如何使用?

    CSS Sprites是一种性能优化技术,一种网页图片应用处理方式:将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能:也被称为css 精灵图. 网页通常包含多个图像.这些包括图标,按钮,徽 ...

  6. HTML网页精灵图的使用

    精灵图的使用 我们在制作网页的时候有些图片是在一起的,没有办法进行插入图片,这样精灵图的使用就帮助我们解决了这一问题.一下方式为例: 图片: 精灵图使用的代码图片:      具体为: .good{h ...

  7. css进阶:精灵图的使用、实现用精灵图拼出名字

    目录 1.精灵图的用途 2. 精灵图(sprites)的使用 2.1 原理 2.2 总结 3. 案例:用精灵图拼出名字 3.1 效果图 3.2 代码 1.精灵图的用途 为了有效地减少服务器接收和请求的 ...

  8. html中精灵图的使用方法,css sprites(精灵图)如何使用?

    CSS Sprites是一种性能优化技术,一种网页图片应用处理方式:将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能:也被称为css 精灵图. 网页通常包含多个图像.这些包括图标,按钮,徽 ...

  9. 控制精灵图大小和位置

    问题:精灵图和精灵图中的小图片大小与开发需要的大小不一样,需要修改精灵图.或者修改精灵图中小图片的大小尺寸.但是在修改过程中会遇到精灵图大小和定位错乱的情况,如何解决?解决:精灵图中小图片的宽高缩放多 ...

最新文章

  1. Python for虚幻引擎编辑器工具脚本学习教程
  2. 面试问到 Redis 事务,我脸都绿了。。
  3. FreeRTOS系统配置文件FreeRTOSConfig.h
  4. python入门基础系列_03python—9个基础常识-python小白入门系列
  5. java 工厂模式详解_java 工厂模式的实例详解
  6. springboot使用thymeleaf完成数据的页面展示
  7. java48关键_Java48个关键字速查表
  8. 我的15年操作系统开源路——RT-Thread 创始人熊谱翔
  9. halcon例程讲解_halcon例程学习笔记(6)
  10. Java微信消息推送(二)
  11. IBM-X型服务器安装指南
  12. SuperMap GIS 10i软件概览
  13. log4j配置文件(详细)
  14. HDOJ 5143 NPY and arithmetic progression DFS
  15. 二极管伏安特性曲线_二极管的温度特性
  16. Nodejs手把手教程
  17. 使用GNOME Tweak Tool来定制Ubuntu 18.04上的GNOME 3桌面环境
  18. Cut the Cake!题解
  19. 库克说他在上大学时学会了编程,你呢?
  20. 在线photoshop工具网站

热门文章

  1. OJ问题检测程序---python开发
  2. 20个Nginx Web服务器最佳安全实践
  3. ajax返回去掉引号,为什么我的服务器代码ajax调用返回一个用双引号括起来的响应?...
  4. android 共享代码,Android团队成员间的代码共享!(Git+Github版)
  5. java 的继承_关于java中的继承
  6. JavaScript 计时事件
  7. 台式计算机的cpu设置,i7型CPU进行了修改并在台式计算机上使用,这才是真正的计算机之神!...
  8. sqap不支持python3吗_Supporting Python 3(支持python3)——欢迎来到Python 3
  9. 职称计算机word模拟题,2015职称计算机考试Word2003模拟题及答案
  10. mysql select a b_MySQL-mysql中,select a,b 与 select *效率到底差多少?