javascript - jQuery:选择具有相同类名的单个元素而不重复代码?

标签 javascript jquery html css jquery-selectors

我目前有一个 javascript 函数,可以在鼠标悬停时模糊图像。这些图像中的每一个都代表一个元素,我有 5 个这样的元素,类别为“individual-project”。单个元素 div 中的 img 具有类“project-img”。

$('.individual-project').eq(0).hover(function() {
    $('.project-img').eq(0).css({'filter': 'blur(3px)', 'transform': 'scale(1.1, 1.1)', '-webkit-filter': 'blur(3px)', '-webkit-transform': 'scale(1.1, 1.1)', '-moz-filter': 'blur(3px)', '-moz-transform': 'scale(1.1, 1.1)'});
}, function() {
    $('.project-img').eq(0).css({'filter': 'blur(0px) brightness(100%)'});
});

目前,我需要将此 block 重复 5 次,并更改每个元素的 eq 函数内的值以模糊它而不模糊所有其他元素。任何帮助让选择器为具有相同类的单个 div 工作的帮助都会很棒。谢谢。

最佳答案

如果只想影响每个元素中的元素图像,则需要使用上下文查找。

$('.individual-project').hover(function(e) {
  $('.project-img', e.target).css({
    'filter': 'blur(3px)',
    'transform': 'scale(1.1, 1.1)',
    '-webkit-filter': 'blur(3px)',
    '-webkit-transform': 'scale(1.1, 1.1)',
    '-moz-filter': 'blur(3px)',
    '-moz-transform': 'scale(1.1, 1.1)'
  });
}, function(e) {
  $('.project-img', e.target).css({
    'filter': 'blur(0px) brightness(100%)'
  });
});

您可以选择为 $() 方法提供的第二个参数是搜索匹配项的上下文。 $(selector)$(selector, document) 相同。提供第二个参数会覆盖默认上下文。

引用。 http://api.jquery.com/jQuery/#jQuery1

关于javascript - jQuery:选择具有相同类名的单个元素而不重复代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51564342/

相关文章:

javascript - 向 jQuery datepicker() 函数添加时间

javascript - JSON HTTP 响应 - 获取单个整数

javascript - AngularJS 复选框没有被选中

javascript - Phonegap 捏合和缩放以缩放 Canvas

javascript - 相对于页脚调整高度的固定位置 div

javascript - 从成对列表中获取 JSON 值作为数组(用于自动完成功能)

javascript - 如何在页面底部建立简单的粘性导航?

javascript - 如何防止响应式网站截图?

javascript - 更改多行文本下的超链接顺序(增强型富文本)

html - 我可以在图像上放置 div 元素吗?