jQuery实现图标特效(精灵图)

news/2024/7/10 23:08:03 标签: css, js, jquery

常见的特效,用到了CSS的精灵图,jQuery代码稍微复杂点,笔者会讲解重点。
PS:为啥笔者的图标缺三个?因为随手百度的精灵图只有五个图标,也懒得换,大家找个多一点的就行了。

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

 <style>css">
        * {
            padding: 0;
            margin: 0;
        }

        ul {
            width: 400px;
            height: 300px;
            border: 1px solid #000;
            margin: 150px auto;
            list-style: none;
        }

        ul > li {
            float: left;
            width: 80px;
            line-height: 100px;
            padding-left: 20px;
            position: relative;
            overflow: hidden;
        }

        ul > li:nth-child(-n+4) {
            margin-top: 50px;
        }

        ul > li > span {
            display: inline-block;
            width: 30px;
            height: 30px;
            background: url("img/jlt/精灵图.png") no-repeat 0 0;
            border-radius: 50%;
            position: absolute;
            top: 5%;
        }
    </style>
    <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>
</ul>
</body>

ul > li:nth-child(-n+4) 这句话的意思是ul 的子元素li(不包括后代的li)中的前四个。

<script>
        $(function () {
            var lis = $('li');
            lis.each(function (index, ele) {
                var url = 'url("img/jlt/精灵图.png") no-repeat 0 ' + (index * -52) + 'px';
                $(this).children('span').css('background', url);
                console.log(url);
            })
            lis.mouseenter(function () {
                //animate无法修改颜色
                $(this).children('span').animate({
                    top: '-50%',
                }, 300, function () {
                    $(this).css('top', '50%');
                })
                $(this).children('span').animate({
                    top: '5%'
                }, 300, function () {
                    $(this).stop(true);
                })

            })
        });
    </script>

第一个each循环就是设置精灵图的位置,让他露出不同的图标,这也是精灵图的大概原理。剩余部分基本就是在讲animate()方法,笔者之前的文章有详细讲到。 jQuery中的animate()方法是无法更改颜色的。

如果有疑问,欢迎各位留言或者私信,觉得不错的就点个赞吧~!


http://www.niftyadmin.cn/n/1258027.html

相关文章

OpenCL

OpenCL 编辑OpenCL&#xff08;全称Open Computing Language&#xff0c;开放运算语言&#xff09;是第一个面向异构系统通用目的并行编程的开放式、免费标准&#xff0c;也是一个统一的编程环境&#xff0c;便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高…

jQuery实现滚动图

滚动图&#xff0c;本例为4张图片循环滚动&#xff0c;鼠标悬停会将图片停止滚动&#xff0c;将其他图片来一个灰色遮罩&#xff0c;主要用到排他思想。为什么4张图片&#xff0c;我的图片列表为什么会有6张图片呢&#xff1f;其实第5,6张图片和第1,2张图片是完全一样的。如果不…

如何用css给博客换一个好看的样式

第一步&#xff1a;点击设置&#xff0c;将如下代码复制到页面定制css代码h3 { color: #fff; background-color: #008eb7; -moz-border-radius: 3px; border-radius: 3px; padding:3px; margin:10px 0px; text-shadow:2px 2px 3px #404040; } code{font-size: 12px;font-family…

jQuery案例-网页音乐播放器01

这是个比较麻烦的项目&#xff0c;先预热一波&#xff0c;这两天正式更新。 笔者打算分五六个博客来更新完整个项目。本案例是B站李南江老师的网课中一个项目&#xff0c;老师讲的非常不错&#xff0c;推荐。

浮动案例

一个网页的小小案例&#xff0c;主要用到浮动 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>实训2</title><link rel"stylesheet" href"../css/4-2.css"> </h…

Day06 子查询

1. 子查询语法2. 多行子查询转载于:https://www.cnblogs.com/fengze/p/6663973.html

Spring 自动装配

一、自动装配方式 1.byName&#xff08;属性&#xff09;,byType(属性),contructor(构造函数) 二、默认自动装配&#xff08;多数装配都是用一样的装配方式&#xff0c;可以全局设定&#xff0c;少数自设定&#xff09; 全局byType,MyBean使用constructor http://www.springfra…

Android 用 camera2 API 自定义相机

前言 笔者因为项目需要自定义相机&#xff0c;所以了解了一下 Android 关于 camera 这块的 API。Android SDK 21&#xff08;LOLLIPOP&#xff09; 开始已经弃用了之前的 Camera 类&#xff0c;提供了 camera2 相关 API&#xff0c;目前网上关于 camera2 API 介绍的资料比较少&…