Javascript 为什么Flex滑块不适用于最小-最大动态范围?
我想在手机上显示3个缩略图,在flex slider上显示桌面上的4个缩略图。为此,我使用的是flex slider版本。若你们调整那个页面的大小,你们会看到THMUBANIL的数量随着浏览器窗口的宽度而变化。但当我在我的网站或JSFIDLE或任何地方使用相同的代码时,它都不起作用。以下是相同的代码:Javascript 为什么Flex滑块不适用于最小-最大动态范围?,javascript,jquery,html,flexslider,Javascript,Jquery,Html,Flexslider,我想在手机上显示3个缩略图,在flex slider上显示桌面上的4个缩略图。为此,我使用的是flex slider版本。若你们调整那个页面的大小,你们会看到THMUBANIL的数量随着浏览器窗口的宽度而变化。但当我在我的网站或JSFIDLE或任何地方使用相同的代码时,它都不起作用。以下是相同的代码: (函数(){ //将滑块存储在局部变量中 变量$window=$(window), flexslider={ 变量:{} }; //用于添加断点的微小辅助函数 函数getGridSize(){
(函数(){
//将滑块存储在局部变量中
变量$window=$(window),
flexslider={
变量:{}
};
//用于添加断点的微小辅助函数
函数getGridSize(){
返回(窗内宽度<600)?2:
(窗内宽度<900)?3:4;
}
$window.load(函数(){
$('.flexslider').flexslider({
动画:“幻灯片”,
animationLoop:false,
项目宽度:210,
项目保证金:5,
minItems:getGridSize(),//使用函数拉入初始值
maxItems:getGridSize()//使用函数拉入初始值
});
});
//在调整大小事件中检查网格大小
$window.resize(函数(){
var gridSize=getGridSize();
flexslider.vars.minItems=网格大小;
flexslider.vars.maxItems=网格大小;
});
}());代码>
.container{
宽度:70%;
最大宽度:1100px;
保证金:自动;
}
-
-
-
-
奇怪的是,这个滑块的官方文档缺少这个关键信息。启动或加载时,必须将滑块实例设置为flexslider
全局变量
工作示例
(函数(){
//将滑块存储在局部变量中
变量$window=$(window),
flexslider={
变量:{}
};
//用于添加断点的微小辅助函数
函数getGridSize(){
返回(窗内宽度<600)?2:
(窗内宽度<900)?3:4;
}
$window.ready(函数(){
$('.flexslider').flexslider({
动画:“幻灯片”,
animationLoop:false,
项目宽度:210,
项目保证金:5,
minItems:getGridSize(),//使用函数拉入初始值
maxItems:getGridSize(),
开始:功能(滑块){
//将滑块实例设置为flexslider变量
flexslider=滑块;
}
});
});
//在调整大小事件中检查网格大小
$window.resize(函数(){
var gridSize=getGridSize();
flexslider.vars.minItems=网格大小;
flexslider.vars.maxItems=网格大小;
});
}());代码>
.container{
宽度:70%;
最大宽度:1100px;
保证金:自动;
}
JS-Bin
-
-
-
-
以下是最小-最大动态范围的工作示例。
var $window = jQuery(window),
flexslider = {
vars: {}
};
function getGridSize() {
return (window.innerWidth <= 767) ? 2 : (window.innerWidth <= 900) ? 2 : (window.innerWidth <= 1024) ? 3 : (window.innerWidth > 1025) ? 5 : 5;
}
$window.ready(function() {
jQuery('.flexslider').flexslider({
animation: "slide",
slideshow: false,
itemWidth: 248,
itemMargin: 5,
minItems: 2,
maxItems: getGridSize(),
controlNav: false
});
var$window=jQuery(window),
flexslider={
变量:{}
};
函数getGridSize(){
return(window.innerWidth)非常感谢,令人惊讶的是,他们在文档中没有提到这一点。我没有阅读实际的源代码查看源代码:http://flexslider.woothemes.com/dynamic-carousel-min-max.html
完全正确。我应该到底部查看实际的初始化。