javascript - jQuery中防止每个img都受到影响

标签 javascript jquery jquery-ui

当用户滑动 jQuery Slider 时,它会影响每个图像。如何仅更改与该 slider 相关的图像?

我尝试过: $(this).closest('img.down')$(this).siblings('img.down')

$("#slider").slider({
  value:50,
  min: 0,
  max: 100,
  step: 50,
  slide: function( event, ui ) {
    $('img.up, img.down').css('opacity','.4');
    if (ui.value >= 51) {
      $('img.up').css('opacity','.8');
    }
    if (ui.value <= 49) {
      $('img.down').css('opacity','.8');
    }
  }
});

Fiddle here

谢谢大家!

最佳答案

您需要更改标记,一个页面中不能有三个具有相同 ID 的项目。你可以做到

class="slider"

将 CSS 的初始化移到函数外部,然后遍历标记以获得正确的图像:

$('img.up, img.down').css('opacity','.4');
$(".slider").slider({
  value:50,
  min: 0,
  max: 100,
  step: 50,
  slide: function( event, ui ) {
  if (ui.value == 50) {
      $(this).parent().find('img.up, img.down').css('opacity','.4');
  }
  if (ui.value >= 51) {
      $(this).parent().find('img.up').css('opacity','.8');
  }
  if (ui.value <= 49) {
      $(this).parent().find('img.down').css('opacity','.8');
  }
}
});

http://jsfiddle.net/psybJ/9/

关于javascript - jQuery中防止每个img都受到影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14326604/

相关文章:

php - 为什么我的 PHP 在 AJAX 调用上返回 NULL?

jquery - 是什么导致 url 中的哈希 (#) 消失?

javascript - 如何使用 AWS Cognito 中的现有用户池生成 aws-exports.js?

javascript - 正则表达式只是电子邮件的开头

javascript - rails 4 : custom action to update only one param with AJAX

javascript - 如何在内容展开时更改 <div> 高度?

ajax - Internet Explorer 缓存 Ajax...在其他浏览器中运行良好

javascript - 如何使用jquery访问 Canvas ?

jquery - 如何在选择元素的 foreach 循环中获取数据属性?

Jquery UI 调整 div 大小未放置到正确位置