首页 > 其他分享 >炫酷鼠标hover图片幻影跟随动画特效

炫酷鼠标hover图片幻影跟随动画特效

时间:2024-12-26 10:56:14浏览次数:4  
标签:__ index hover 鼠标 stack 炫酷 grid div class

这是一款炫酷的鼠标hover图片幻影跟随动画特效。该特效在鼠标hover图片时,会产生多种颜色形成的堆叠卡片幻影,跟随图片移动,效果非常炫酷。

在线预览   下载

 使用方法

 HTML结构

该图片hover效果的HMLT结构如下:

<div class="grid grid--effect-vega">   <a href="#" class="grid__item grid__item--c1">     <div class="stack">       <div class="stack__deco"></div>       <div class="stack__deco"></div>       <div class="stack__deco"></div>       <div class="stack__deco"></div>       <div class="stack__figure">         <img class="stack__img" src="img/1.png" alt="Image"/>       </div>     </div>     <div class="grid__item-caption">       <h3 class="grid__item-title">anaerobic</h3>       <div class="column column--left">         <span class="column__text">Period</span>         <span class="column__text">Subjects</span>         <span class="column__text">Result</span>       </div>       <div class="column column--right">         <span class="column__text">2045</span>         <span class="column__text">133456</span>         <span class="column__text">Positive</span>       </div>     </div>   </a>   <a href="#" class="grid__item grid__item--c2"><!-- ... --></a>   <a href="#" class="grid__item grid__item--c2"><!-- ... --></a> </div><!-- /grid -->
 CSS样式

在CSS布局中使用flexbox进行布局,其中,堆叠的幻影图片的css样式如下:

.stack {   position: relative;   width: 100%;   height: 200px;   transform-style: preserve-3d; }   .stack__deco {   position: absolute;   top: 0;   left: 0;   width: 100%;   height: 100%;   background-color: currentColor;   transform-origin: 50% 100%; }   .stack__deco:first-child {   opacity: 0.2; }   .stack__deco:nth-child(2) {   opacity: 0.4; }   .stack__deco:nth-child(3) {   opacity: 0.6; }   .stack__deco:nth-child(4) {   opacity: 0.8; }   .stack__figure {   position: relative;   display: flex;   justify-content: center;   align-items: center;   overflow: hidden;   width: 100%;   height: 100%;   cursor: pointer;   transform-origin: 50% 100%; }   .stack__img {   position: relative;   display: block;   flex: none; }
 JAVASCRIPT

特效中使用js来驱动动画效果,其中的一种效果的js代码如下:

HamalFx.prototype._in = function() {   var self = this;     this.DOM.stackItems.map(function(e, i) {     e.style.opacity = i !== self.totalItems - 1 ? 0.2*i+0.2 : 1   });     anime({     targets: this.DOM.stackItems,     duration: 1000,     easing: 'easeOutExpo',     translateY: function(target, index) {       return -1*index*5;     },     rotate: function(target, index, cnt) {       if( index === cnt - 1 ) {         return 0;       }       else {         return index%2 ? (cnt-index)*1 : -1*(cnt-index)*1;       }     },     scale: function(target, index, cnt) {       if( index === cnt - 1 ) {         return 1;       }       else {         return 1.05;       }     },     delay: function(target, index, cnt) {       return (cnt-index-1)*30     }   });       anime({     targets: this.DOM.img,     duration: 1000,     easing: 'easeOutExpo',     scale: 0.7   });     anime({     targets: [this.DOM.columns.left, this.DOM.columns.right],     duration: 1000,     easing: 'easeOutExpo',     translateX: function(target, index) {       return index === 0 ? -30 : 30;     }   });     };   HamalFx.prototype._out = function() {   var self = this;     anime({     targets: this.DOM.stackItems,     duration: 500,     easing: 'easeOutExpo',     translateY: 0,     rotate: 0,     scale: 1,     opacity: function(target, index, cnt) {       return index !== cnt - 1 ? 0 : 1     }   });     anime({     targets: this.DOM.img,     duration: 1000,     easing: 'easeOutElastic',     scale: 1   });     anime({     targets: [this.DOM.columns.left, this.DOM.columns.right],     duration: 500,     easing: 'easeOutExpo',     translateX: 0   }); }; 

标签:__,index,hover,鼠标,stack,炫酷,grid,div,class
From: https://www.cnblogs.com/liylllove/p/18632223

相关文章

  • 使用js写一个鼠标框选的效果
    鼠标框选效果通常指的是用户在页面上拖动鼠标时,可以框选一个区域,并高亮显示这个区域。以下是一个简单的示例,使用原生JavaScript来实现这个效果:HTML:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=d......
  • 如何解决鼠标滚动时多次触发事件?
    在前端开发中,鼠标滚动事件(scroll)的频繁触发是一个常见问题。当用户滚动页面时,浏览器会连续触发多个滚动事件,这可能导致性能问题,尤其是当事件处理程序执行复杂的操作时。为了解决这个问题,你可以采取以下几种策略:防抖(Debounce):防抖技术可以确保在一定时间内只触发一次事件处理程......
  • 炫酷吹风机样式loading进度条插件
    这是一款炫酷吹风机样式loading进度条jquery插件。该吹风机样式loading进度条通过jquery和CSS3动画来构建进度条,用户可以通过调用插件的方式来使用这个Loading特效。在线预览  下载 使用方法在页面中引入jquery和blower-loading.js文件,以及样式文件style.css。<li......
  • js动态炫酷数字时钟
    这是一款使用js和CSS制作的动态炫酷数字时钟。该js数字时钟采用LED数字时钟样式,效果十分逼真。 在线预览  下载  使用方法 HTML结构该js数字时钟的HTML结构如下:<divclass="clock">  <divclass="digithours">    <divclass="segment"></div> ......
  • Selenium自动化测试中的鼠标操作
       Selenium中的鼠标操作是通过调用ActionChains类来实现的,这个类提供了一系列模拟鼠标行为的方法。现将Selenium中鼠标操作方法汇总如下:导入ActionChains类首先,需要导入ActionChains类,示例代码如下:        fromselenium.webdriver.common.action_c......
  • 教你学会自定义鼠标指针
    我现在用的一款很好看的指针如下图所示:是不是真的还挺不错的,还有更多可好玩的样式:只要先下载了这个软件,这些都是可以免费使用的,看腻了就换一个!下载过后操作这个就可以直接生效了,都不用重新启动的......
  • 鼠标 hgpk型号 linux驱动程序
    /*SPDX-License-Identifier:GPL-2.0//OLPCHGPK(XO-1)touchpadPS/2mousedriver*/#ifndef_HGPK_H#define_HGPK_H#defineHGPK_GS0xff/*TheGlideSensor/#defineHGPK_PT0xcf/ThePenTablet*/enumhgpk_model_t{HGPK_MODEL_PREA=0x0a,/*p......
  • 使用Canvas制作一个火焰跟随鼠标的动画
    创建一个火焰跟随鼠标的动画涉及到多个步骤,包括创建canvas元素,监听鼠标事件,以及在canvas上绘制火焰。以下是一个基本的实现方式:首先,在HTML中添加一个canvas元素:<!DOCTYPEhtml><html><head><title>火焰跟随鼠标动画</title><style>body{margin:0;}......
  • 鼠标 芯片pc110 linux驱动程序
    /*Copyright©2000-2001VojtechPavlikBasedontheworkof:AlanCoxRobinO’Leary*//*IBMPC110touchpaddriverforLinux*//*Thisprogramisfreesoftware;youcanredistributeitand/ormodifyitunderthetermsoftheGNUGeneralPubli......
  • 鼠标 芯片pxa930 linux驱动程序
    /*PXA930trackballmousedriverCopyright©2007MarvellInternationalLtd.initialversionThisprogramisfreesoftware;youcanredistributeitand/ormodifyitunderthetermsoftheGNUGeneralPublicLicenseversion2aspublishe......