javascript - 如何将 jQuery 效果限制在特定页面部分内?
问题描述
如果我在多个页面部分上都有一个悬停触发的效果,每个部分都有如下 .slide-trigger 类,我如何将效果限制在现在悬停的部分?
我有以下代码,目前将鼠标悬停在一个触发器 div 上会将效果应用于所有 .slide 部分。
jQuery(function($) {
$(document).ready(function() {
$('.slide-trigger').hover(function() {
$('.slide').addClass('slide-active');
},
function() {
$('.slide').removeClass('slide-active');
});
});
});
<div class="slide-trigger">
<div class="slide">
<p>Slidey stuff</p>
</div>
</div>
<div class="slide-trigger">
<div class="slide">
<p>More slidey stuff</p>
</div>
</div>
谢谢!
解决方案
您必须更改选择器以调整悬停在事件更改上的当前元素。您可以通过更改$("slide-active")
为$(this)
JQuery$(this)
将专注于在事件期间被操作的当前元素。
jQuery(function($) {
$(document).ready(function() {
$('.slide-trigger').hover(function() {
$(this).addClass('slide-active');
},
function() {
$(this).removeClass('slide-active');
});
});
});
.slide-active {
color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slide-trigger">
<div class="slide">
<p>Slidey stuff</p>
</div>
</div>
<div class="slide-trigger">
<div class="slide">
<p>More slidey stuff</p>
</div>
</div>
推荐阅读
- jenkins - 使用 azure webhook 时 GIT_COMMIT 空白
- python - 如何在 x 轴上以毫秒为单位绘制实时数据?
- cordova - windows7下安装ionic3的问题
- visual-studio - Azure 服务总线 - ARM 模板(更新现有主题参数)
- java - 使用响应式编程而不是 ExecutorService 有什么好处?
- javascript - 我如何使用 sheetjs 从 excel 文件中读取阿拉伯数据
- hibernate - @Transaction 在 Spring Boot 2.x 中不起作用,我在更新表时收到“执行更新/删除查询”
- scala - 火花纱线集群堆栈跟踪:ExitCodeException exitCode=13
- vue.js - 为什么“新 Vue”不适用于 webpack 构建的输出 javascript 文件?
- c# - 从字符串中检索空格后的数字