【发布时间】:2016-12-13 22:48:51
【问题描述】:
我正在尝试在Slick.js 断点被触发时启动一个事件。
即使没有命中断点,也会触发init 事件。
有办法解决吗?
这是我的代码:
var $j = jQuery.noConflict();
$j(".homepage_slider").slick({
dots: false,
infinite: true,
arrows:false,
autoplay:true,
autoplaySpeed:3500,
slidesToShow: 1,
slidesToScroll: 1,
responsive: [
{
breakpoint: 480,
settings: {
init: changeImages()
}
}
]
});
function changeImages(){
$j('img.slider-image').each(function() {
$j(this).attr('src', $j(this).attr('data-mobile'));
});
}
我也试过了,但是没用:
$j('.homepage_slider').on('breakpoint', function(){
console.log("test");
$j('img.slider-image').each(function() {
$j(this).attr('src', $j(this).attr('data-mobile'));
});
});
有什么想法吗?
更新:
找到这个帖子:how to call different jquery actions in responsive design
var isBreakPoint = function (bp) {
var bps = [320, 480, 768, 1024],
w = $j(window).width(),
min, max
for (var i = 0, l = bps.length; i < l; i++) {
if (bps[i] === bp) {
min = bps[i-1] || 0
max = bps[i]
break
}
}
return w > min && w <= max
}
if (isBreakPoint(480)) {
$j('img.slider-image').each(function() {
$j(this).attr('src', $j(this).attr('data-mobile'));
});
}
此解决方法有效,但如果我找到一个在遇到Slick.js 断点事件时有效的解决方法,这样两种方法之间就没有差异,那就太好了。
【问题讨论】:
标签: javascript html css slick.js