前端:运用html+css+js模仿百度热搜电影榜鼠标移入特效

news2024/11/26 4:33:06

在这里插入图片描述

前端:运用html+css+js模仿百度热搜电影榜鼠标移入特效

        • 1. 实现原理
        • 2. 界面布局
        • 3. js实现对鼠标移入和移出的监听
        • 4. 参考代码如下:

1. 实现原理

百度热搜上电影榜鼠标移入特效如上图所示。个人觉得上述特效实现原理为使用相对定位、绝对定位实现的(鼠标移入和没有移入时,元素布局有一些不同而已)。至于鼠标移入时,出现延迟效果,则是在css上设置transition(用于设置过渡效果的)实现的。我的实现效果如下(只把那个特效实现,其他元素布局没有搞):
在这里插入图片描述

2. 界面布局

使用ul标签和li标签,把li标签高度设置为30px,同时设置li标签属性overflow:hidden;(超出部分隐藏),
为li标签设置相对定位。为li标签设置一个class属性,这个class属性的p标签(用于设置标题)和img标签(图片)设置绝对定位。当鼠标移入到这个li标签上时,改变这个li标签的class属性即可。

html代码如下:
请添加图片描述
css样式代码如下:
请添加图片描述

3. js实现对鼠标移入和移出的监听

主要涉及mouseover和mouseout这两个事件,它们分别表示为鼠标移入和移出这个元素时,执行的操作。我们要做的操作就是,当鼠标移入li标签时,把其他li标签元素class属性设置为空,把当前li标签元素class属性设置上述说到的那个。而鼠标移出ul标签时(恢复到默认效果,即第一个li标签class属性值为上述说到的那个。),把其他li标签元素class属性设置为空,把第一个li标签class属性值设置上述那个属性值即可。参考代码如下:
请添加图片描述
使用jquery,这样代码量可以得到明显的降低。

4. 参考代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>特效</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            margin: 20px auto;
            list-style: none;
            width: 160px;
        }
        ul >li{
            height: 30px;
            position: relative;
            overflow: hidden;
            cursor: pointer;
            transition: all 0.5s;
        }
        
        ul >li >p{
            width: 100%;
            line-height: 30px;
            text-align: center;
        }

        ul .cur_li{
            height: 107px;
        }

        ul .cur_li img{
            width: 80px;
            height: 107px;
            position: absolute;
            top: 0;
            left: 0;
        }

        ul .cur_li p{
            width: 80px;
            position: absolute;
            top: 10px;
            left: 80px;
        }

    </style>
    <script src="https://pss.bdstatic.com/static/superman/js/lib/jquery-1-edb203c114.10.2.js"></script>
</head>
<body>
    <ul>
        <li class="cur_li">
            <p>八角笼中</p>
            <img src="https://fyb-2.cdn.bcebos.com/hotboard_image/fe8e114ab0561124539454972d4a2cbc?x-bce-process=image/resize,m_fill,w_160,h_214" alt="">
        </li>
        <li>
            <p>封神第一部</p>
            <img src="https://fyb-2.cdn.bcebos.com/hotboard_image/427d971c382982519908c4d9d1aa0f83?x-bce-process=image/resize,m_fill,w_160,h_214"
                alt="">
        </li>
        <li>
            <p>消失的她</p>
            <img src="https://fyb-2.cdn.bcebos.com/hotboard_image/b7459789f21ff9fd635a55c996c81b65?x-bce-process=image/resize,m_fill,w_160,h_214"
                alt="">
        </li>
    </ul>
</body>
<script type="text/javascript">
    var fun = function(){
        $('ul li').each((i,e)=>{
            $(e).attr('class','');
        });
    }
    $('ul >li').each((i,e)=>{
        $(e).mouseover(() => {
            fun();
            $(e).attr('class','cur_li');
        });
    });

    $('ul').mouseout(()=>{
        fun();
        $(document.querySelector('ul >li')).attr('class','cur_li');
    });
</script>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/784996.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OrangePi Zero2 TTL 连接示意图

OrangePi 目前最方便的就是使用调试串口线进行PC与开发板进行链接。 OrangePi Zero2 GPIO引脚图 TTL连接图 本人使用的型号为CH340模块USB转TTL刷机线&#xff0c;Windows下免驱。 黑线对GND接口&#xff0c;绿线对RX接口&#xff0c;白线对TX接口。

element-ui form表单的动态rules校验

在vue 项目中&#xff0c;有时候可能会用到element-ui form表单的动态rules校验&#xff0c;比如说选择了哪个选项&#xff0c;然后动态显示或者禁用等等。 我们可以巧妙的运用element-ui form表单里面form-item想的校验规则来处理&#xff08;每一个form-item项都可以单独校验…

推荐几个Windows iso镜像下载的网站

文章目录 1. 微软官网2. MSDN网站3. 系统库(xitongku)4. 其他网站最后总结 给大家推荐几个 Windows iso镜像下载网站 1. 微软官网 入口地址&#xff1a;https://www.microsoft.com/zh-cn/software-download 以下载Windows11为例&#xff1a; 1&#xff09;找到下载Windows11…

【教程】查看CPU、GPU架构的拓扑结构和系统信息

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 一些概念 Package&#xff1a;处理器封装。在多处理器系统中&#xff0c;每个物理 CPU 芯片通常被封装在一个单独的封装中&#xff0c;这个封装被称为 Package。一个 Package 可以包含一个或多个物理 CPU 核心。…

计算机组成原理复习-例题版

目录 第一章&#xff1a;计算机系统概论 第二章&#xff1a;机器数 第三章&#xff1a;指令 第四章&#xff1a;机器数运算 第六章&#xff1a;CPU 第七章、第八章、第九章 &#xff1a;总线、辅存、中断 第一章&#xff1a;计算机系统概论 第二章&#xff1a;机器数 ​​…

SVG 简单应用

第一步赋值svg 第二步&#xff1a;fill 填充色设置为“” 第三步设置 svg 颜色和大小

基础算法-单链表

单链表 -> 邻接表:主要用于存储图和树。 双链表 : 主要用于优化某些问题。 单链表的相关操作&#xff1a;1.单链表的初始化 2.将x插到头节点 3.将x插入到下标是k的节点后面 4.将下标是k的节点的后面一个节点删除 1.单链表的初始化 代码&#xff1a; //单链表的初始…

第117天:免杀对抗-反VT沙盒反虚拟机反调试进程APC注入项目保护

知识点 #知识点&#xff1a; 1、反VT-沙盒检测-Go&Python&C 2、反调试-调试检测&进程注入-C 3、反VT反调试-程序保护-工具项目类#章节点&#xff1a; 编译代码面-ShellCode-混淆 编译代码面-编辑执行器-编写 编译代码面-分离加载器-编写 程序文件面-特征码定位-修…

Tripwire 完整性分析工具(Linxu系统)

环境&#xff1a;centos7 工作流程&#xff1a; 当前的系统数据状态建立数据库定期比较系统现状与数据库中的状态属性改变有详细报告分析报告发现入侵 1、安装相关软件包 [roothello ~]# yum install epel-release -y 已加载插件&#xff1a;fastestmirror Repository base …

自学网络安全(黑客)全笔记

一、什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面…

了解Unity编辑器之组件篇Mesh(三)

Mesh&#xff1a;是一种三维模型的表示形式&#xff0c;它由一系列顶点、三角形&#xff08;或其他多边形&#xff09;和相关属性组成。Mesh用于表示物体的外观和形状&#xff0c;它是可见物体的基本组成部分。通过操作Mesh&#xff0c;开发者可以实现各种视觉效果、物理模拟和…

AI人工智能一键图片/视频换脸-Roop

软件介绍 Roop 换脸技术是一种基于深度学习的人脸图像处理技术。 技术原理 Roop换脸技术的实现主要分为两个步骤&#xff1a;人脸检测与对齐、特征融合与生成。 1.人脸检测与对齐在Roop换脸技术中&#xff0c;首先需要对输入的图像进行人脸检测与对齐。这一步骤的目的是确保…

Ubuntu搭建Samba服务-学习记录

文章目录 Ubuntu安装Samba流程Samba配置文件Samba添加账户配置文件修改Samba服务控制设置开机自动启动通过systemctl 启动服务通过 rc.local 启动 Windows访问参考链接 当前文章仅用于记录&#xff0c;在 Ubuntu中安装使用Samba&#xff0c;在Windows访问 系统环境&#xff1a;…

ChatGPT应用|科大讯飞星火杯认知大模型场景创新赛开始报名了!

ChatGPT发布带来的 AI 浪潮在全球疯狂蔓延&#xff0c;国内掀起的大模型混战已经持续半年之久&#xff0c;国产大模型数量正以惊人的速度增长&#xff0c;据不完全统计&#xff0c;截止7月14号已经达到了111个&#xff0c;所谓的“神仙打架”不过如此了吧。 &#xff08; 包括但…

SpringBoot与文档excel,pdf集成案例分享

一、文档类型介绍 1、Excel文档 Excel一款电子表格软件。直观的界面、出色的计算功能和图表工具&#xff0c;在系统开发中&#xff0c;经常用来把数据转存到Excel文件&#xff0c;或者Excel数据导入系统中&#xff0c;这就涉及数据转换问题。 2、PDF文档 PDF是可移植文档格…

Java程序设计六大原则设计模式

Java程序设计六大原则 一、单一职责原则&#xff1a; 一个接口或者类只有一个原因引起变化&#xff0c;即一个接口或者类只有一个职责&#xff0c;负责一件事情。&#xff08;此原则同样适用于方法&#xff09; 好处&#xff1a;1、复杂性降低&#xff1b;2、可读性提高&…

深度学习和神经网络

人工神经网络分为两个阶段&#xff1a; 1 &#xff1a;接收来自其他n个神经元传递过来的信号&#xff0c;这些输入信号通过与相应的权重进行 加权求和传递给下个阶段。&#xff08;预激活阶段&#xff09; 2&#xff1a;把预激活的加权结果传递给激活函数 sum :加权 f:激活…

代码随想录算法训练营之JAVA|第十一天| 239. 滑动窗口最大值

今天是第11天刷leetcode&#xff0c;立个flag。 算法挑战链接 239. 滑动窗口最大值https://leetcode.cn/problems/sliding-window-maximum/description/ 第一想法 题目理解&#xff1a;找到滑动窗口中最大的值&#xff0c;写入数组中&#xff0c;返回该数组即可。 第一个想…

VeriEye 13.0商用虹膜识别软件python SDK试用指南

最近&#xff0c;商用虹膜识别软件VeriEye 13.0发布&#xff0c;且额外地新增了python接口&#xff0c;这样就很方便大家直接调用其提供的虹膜识别接口了。 在使用python接口前&#xff0c;需要先下载安装试用版SDK&#xff0c;然后激活许可证。具体如下&#xff1a; 1. VeriE…