将不透明层添加到除所选图像之外的所有滑块图像

Adding opacity layer to all slider images except the selected image

我有一个 IosSlider 效果很好,但是我想为除所选图像之外的所有图像添加不透明度。这将更加突出所选图像,并允许用户一次只关注一张图像。这是我的 javascript IosSlider 和图像指示器:

 <script>
        $(window).load(function() {
        
            $('.iosSlider').iosSlider({ 
            desktopClickDrag: true,
            onSlideChange: slideChange,
            navNextSelector: $('.nextButton'),
            navPrevSelector: $('.prevButton'),
            infiniteSlider:true,
            snapSlideCenter: true
          
             });
    });
            
    function slideChange(args) {
        
        try {
            console.log('changed: ' + (args.currentSlideNumber - 1));
        } catch(err) {
        }
        
        $('.indicators .item').removeClass('selected');
        $('.indicators .item:eq(' + (args.currentSlideNumber - 1) + ')').addClass('selected');
    
    }   
    </script>

这是我的 html 代码:

<section id="slider" >

<div class="container-fluid">
           
    <div class = 'responsiveHeight'>
            
        <div class = 'inner'>
                            
            <div class = 'iosSlider'>
                                
                <div class = 'slider'>
                                        
                    <img class="item" src="../images/Project/Education-Municipal/grandcayman/01 0614-23.1491.1503.jpg"/>
                                           
                    <img class="item" src="../images/Project/Education-Municipal/grandcayman/02 0614-23_1350.jpg"/>
                                          
                    <img class="item" src="../images/Project/Education-Municipal/grandcayman/03 0614-23_DSC2008.jpg"/>
                                          
                    <img class="item" src="../images/Project/Education-Municipal/grandcayman/04 0614-23_DSC2130.jpg"/>
                                            
                    <img class="item" src="../images/Project/Education-Municipal/grandcayman/05 0614-23_G3A1975crop2.jpg"/>
                    
                </div>
            
            </div>
            
        </div>
        <div class = 'prevButton'></div> 
        <div class = 'nextButton'></div>
    
    </div>
           
</div> <!-- end container -->

<div class = 'indicators'>
    <div class = 'item selected'></div>
    <div class = 'item'></div>
    <div class = 'item'></div>
    <div class = 'item'></div>
    <div class = 'item'></div>
</div>       

我正在尝试将所有滑块图像设置为不透明度 0.3,当前使用 CSS 选择的图像除外:

img {
opacity: .3;
}

img .item .selected{
opacity: 1;
}

我对 Javascript 不是很精通,但我想知道是否有使用 CSS 或 Javascript 的简单方法来做到这一点。谢谢。请查看示例图片以进一步解释我要完成的工作: Desired slider result

快到了!在 CSS 中,space 字符是子运算符,因此您当前的选择器 img .item .selected 将 class 或 selected 的元素定位为 class item,它本身就是 img 元素的子元素。

在您的情况下,我相信您的意思是定位同时具有 class 和 selecteditem 的图像。如果是这样,只需删除 spaces:

img.item.selected {
    //...
}

感谢您的帮助!我需要一点推动,我正朝着正确的方向前进。我将 CSS 更改为:

.item.selected{
opacity: 1;

}

但我仍然需要添加一些 javascript 才能让它工作,所以我将这两行添加到另一个“指标”下方 javascript:

$('img.item').removeClass('selected');
$('img.item:eq(' + (args.currentSlideNumber - 1) + ')').addClass('selected');