javascript - Anim.js - 当我只想触发悬停的元素时输入什么作为目标
问题描述
我正在尝试使用anime.js 为名为.grid-item 的div 中的元素设置动画。这是一个简单的悬停动画,当用户悬停时,文本和图标会出现动画。.grid-item 在 Mansory 网格中重复,这就是它全部崩溃的地方。当然,只有悬停的 .grid-item 的子项受到影响。此时所有 .grid-item 都被触发.
当我删除动画功能并使用 $(this) 来操作 CSS 属性时,一切正常。我似乎无法弄清楚在动漫功能中输入什么作为目标。任何帮助将非常感激!
html
<div class="grid-item">
<div class="grid-container">
<div class="tl-item-rollover-wrapper">
<img class="tl-svg-magnify" src="icons/icon.svg">
</div>
<div class="tl-item-copy-wrapper">
<div class="tl-item-project-title">Line--01</div>
<div class="tl-item-project-info">Line--02</div>
</div>
<div class="tl-category-wrapper">
<i class="material-icons">cloud_queue</i>
</div>
<img class="tl-item-image" src="images/image.jpg"/>
</div>
</div>
javascript(我现在拥有的)
$('.grid-item').hover(function() {
anime ({
targets: ['.tl-item-image', this],
scale: 1.1,
opacity: 0.6,
easing: 'easeInOutQuart',
duration: 700
});
}, function() {
anime ({
targets: ['.tl-item-image', this],
scale: 1,
opacity: 1,
easing: 'easeInOutQuart',
duration: 700
});
});
解决方案
尝试这个:
$('.grid-item').hover(function() {
anime ({
targets: [this.querySelector('.tl-item-image'), this.querySelector('.another-element')],
scale: 1.1,
opacity: 0.6,
easing: 'easeInOutQuart',
duration: 700
});
}, function() {
anime ({
targets: [this.querySelector('.tl-item-image'), this.querySelector('.another-element')],
scale: 1,
opacity: 1,
easing: 'easeInOutQuart',
duration: 700
});
});
显然,, this.querySelector('.another-element')
如果您不需要为多个内部元素设置动画,请删除和方括号。
我用的this.querySelector
,asthis
指的是当前悬停的.grid-item
。我曾经querySelector
选择子元素,也是因为动漫是一个 Javascript 库,并且不包括 jQuery 对象。
推荐阅读
- python - pandas - 带倒计时的批次分配
- php - 致命错误:require_once():无法打开所需的 header.php
- python - opencv没有打开现有的png图像
- java - Jiray REST API - 查询平面 JSON 结构中所有字段的问题
- elixir - 依赖项是否可以在 elixir 中创建数据库表?
- tabulator - 制表符。如何启用和禁用 js 编辑
- python - 如何用逻辑排序
- google-cloud-platform - RESTful Google Translate API v2 下的非拉丁字符是下划线
- c# - 使用c#在excel中查询两个日期,但问题是我得到错误的日期作为结果
- xml - 如何在 XML 中删除具有空父节点的子节点