Flexslider<李>高度's等于最高的<李>在移动浏览器上
Flexslider <li> height's equal the tallest <li> on a mobile browser
我正试图找出Flexslider的一个问题,该问题只有在Safari mobile等移动浏览器上测试时才会出现。
所有<li>容器与最高<li>,即使没有足够的内容来证明让他们达到同样的高度。
我不知道如何获取它的屏幕截图,因为它在桌面浏览器上运行良好,但在移动浏览器上不可用。这是一个小提琴,当我在桌面浏览器上查看它时,它会像我预期的那样工作,容器的高度会根据内容的数量而调整。
http://jsfiddle.net/CsCyh/
这是hml:
<div class="flexslider">
<ul class="slides">
<li>
<img src="http://i.imgur.com/YSVlz2Z.jpg" />
<h2><a href"#">First Link Here</a></h2>
<p>Some text here that could be a message</p>
<a href="#" data-role="button" data-icon="arrow-r" data-iconpos="right">Another Link Here</a>
</li>
<li>
<img src="http://i.imgur.com/YSVlz2Z.jpg" />
<h2><a href"#">Second Link Here</a></h2>
<p>Some text here that could be a message</p>
</li>
<li>
<img src="http://i.imgur.com/YSVlz2Z.jpg" />
<h2><a href"#">Third Link Here</a></h2>
<p>Some text here that could be a message</p>
</li>
</ul>
</div>
这是flexslider的JS:
$('.flexslider').flexslider();
嗯,我之前遇到过这个问题。我希望这能有所帮助!
var evenSliderHeight = function(slideContainer, slideItem) {
var slider_height = 0;
var $slider_slide = $(slideContainer).find(slideItem);
$slider_slide.each(function() {
var __height = $(this).outerHeight(true);
if ( slider_height < __height ) {
slider_height = __height;
}
});
$slider_slide.css('min-height', slider_height);
};
evenSliderHeight('.flexslider-container', '.slide');
$('.flexslider').flexslider({
after: function(slider){
currHeight = $('.flexslider').find('.slides > li').eq(slider.currentSlide).outerHeight(true);
$('.flexslider').height(currHeight);
}
});
JSFiddle更新:http://jsfiddle.net/CsCyh/14/
对于2019/2020年仍有此问题的人,请查看Flexslider文档中名为"smoothHeight"的新属性
我通过将"smoothHeight"设置为true来解决我的问题。
$('.sliders').flexslider({
animation: 'slide',
smoothHeight: true,
controlNav: false,
customDirectionNav: $('.js-slider-control button'),
});
这里是一个仅支持CSS的解决方案。这是针对animation: "slide"
属性进行测试的:
.flexslider .flex-viewport { display: flex; flex-direction: column; }
.flexslider .flex-viewport > ul { display: flex; }
.flexslider .flex-viewport > ul > li { display: flex !important; }
!important
将覆盖flexroader作为内联样式生成的display:block;
属性。现在,所有面板共享相同的高度,基于最高的幻灯片。
将其添加到调用滑块的脚本中。
animateHeight: false,
例如:
$(window).load(function(){ if ( $('#content-slider-wrap').length == 0 ) return false
$('#content-slider-wrap').flexslider({
animation:"fade",
slideshow: true,
directionNav: true,
animateHeight: false,
controlNav:false ,
........... etc etc
相关文章:
- 正在检测导航到<a name=“;最新主题”></a>
- 如何附加<ul><李>元素位于某个特定条件的父元素列表之间
- 在<script src=“"></脚本>标签
- 等效于<script src=“;something1.json”></脚本>
- CSS/.JS问题,<ul><李>在Megamenu中
- 如何在<td></td>在Procractor中
- 显示“<script src='some.js'></脚本>"在Html文档中
- 如何将Array转换为<ul><李>以字母为标题的字母列表
- <script src=“//代码.jquery.com/jquery-1.11.1.min.js”></
- 选择<脚本></脚本>作为html正文中的纯文本
- 可折叠<UL><李>不起作用
- $.mobile.loadPage()和$(“linkBtn”).click();t负载<头部></头部&
- <脚本/>vs<脚本></脚本>webpack和angular
- Javascript/RRails-如何包装link_to而不是<a></a>在javascript
- jQuery在处理<选择><选项>
- 布局lt md已被弃用.请使用`layout gt-<xxx>`变种
- 在<%%中定义的访问变量>从<脚本></脚本>
- 页面设计<a href><按钮><输入>在JSP中
- 注入html标记<ul></ul>在我的<李></李>元素
- jQuery选择器<按钮></按钮>