javascript - 更改图像中的圆点

标签 javascript jquery image slick.js

客户想要更改光滑点图像。所以我用他下载的图像创建了 block 并隐藏它们。之后我获取 img src 并创建

new Image()

带有来自隐藏 block 的 src。将 img 添加到 li,使用带有 'hover' 和 'default' 图像键的对象创建新数组。

$('.slick-dots li').each(function(i, e) {   
  var img = new Image();

  img.src = _images[i].normal;

_images - 包含对象的数组。每个值都有一个对象。每个对象都有默认和悬停键,具有不同的源 所以我有这样的东西

[ {'normal': 'src', 'hover': 'src'}, {'normal': 'src', 'hover': 'src'}, {'normal': 'src', 'hover': 'src'} ]

img.slickData = _images[i]; 
    img.setHover = function(e) {
        this.src = this.slickData.hover;
    };
    img.removeHover = function(e) {
        this.src = this.slickData.normal;
    };
    $(this).on('mouseenter', function(e) {
        $('img' ,this).attr('src', img.slickData.hover)
    });
    $(this).on('mouseleave', function(e) {
        $('img' ,this).attr('src', img.slickData.normal)
    });
    $(e).append(img);
});

}

悬停工作。但问题是我不知道如何捕获滑动和可点击事件并将图像更改为“hover src”的正确方法

附注抱歉我的英语:)

最佳答案

@CBroe,谢谢。这几乎就是我想要的。但只有滑动才能正常工作 - 立即将 src 更改为先前的默认 img 并将 src 更改为悬停在事件点中。 动画完成后,然后更改 src。之前做同样的事情,但相反。

我做了其他事情,但滑动是最难以理解的问题:

$('.slick-prev, .slick-next').on('click', function(){
    changeIcons() // when click next\prev
});
$('.services_slick').on('swipe', function(){
    changeIcons() // when swipe
});
changeIcons() // when page is loaded
function changeIcons(){
    var dotIndex = $('li.slick-active').index();
    $('.slick-dots li img').each(function(i){
        $(this).attr('src', _images[i].normal)
        $(this).parent().removeClass('services_icons_hover')
    });
    $('li.slick-active img').attr('src', _images[dotIndex].hover)
    $('li.slick-active').addClass('services_icons_hover');
}

关于javascript - 更改图像中的圆点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45564354/

相关文章:

html - 图像未显示在 Rails 应用程序中

javascript - 从 JavaScript 访问电子表格时出现 "SpreadsheetApp is not defined"

javascript - Spring 找不到资源文件(css、jsp...)

javascript - 使用 JavaScript 交换 DOM 元素,用于内存密集型应用程序

jquery - 是否可以在单 handle jQuery UI slider 上设置固定的静态范围?

javascript - 关闭事件监听器不适用于多个对象?

jquery - 悬停时的 CSS - 将元素 ID1 更改为 ID2

javascript - 错误: Cannot read property of undefined

java - 简单的 ImageIcon 问题

php - 使动态图像具有静态文件名