gpt4 book ai didi

javascript - slick 的 slider 图像仅在单击 slick 箭头后加载

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:32:24 26 4
gpt4 key购买 nike

我正在尝试使用 slick 库实现 slider 同步。我有一组来自后端的名为 pictures 的图像。我遍历这些图像,将它们填充到我的 slider-forslider-nav div 下。

HTML代码:

<head>
<style>

.slick-arrow {
color: #666666;
background: red;
}
.slider-for {
max-width: 960px;
margin-left: auto;
margin-right: auto;
margin-top: 5%;
}
.slider-nav h1 {
display: inline-block;
}
.slider-nav .slick-slide {
text-align: center;
width: 337px;
}
.container {
margin-bottom: 5%;
margin-top: 5%;
}

</style>
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.slick/1.5.7/slick.css"/>
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.slick/1.5.7/slick-theme.css"/>
</head>
<div class="container-fluid padding25">
<h2>Pictures</h2>
<div class="slider-for">
<% var index = 0;%>
<%_.each(pictures, function(picture) { %>

<div>
<img src="<%=picture.pictureUrl%>" class="img-rounded" width="460" height="345"/>
</div>
<%
index++;
});
%>
</div>

<div class="slider-nav">
<%_.each(pictures, function(picture) { %>

<div>
<img src="<%=picture.pictureUrl%>" class="img-rounded" width="150" height="300"/>
</div>
<%
index++;
});
%>
</div>

<div class="row">
<h2>Videos</h2>
...
</div>
</div>

JavaScript:

<script type="text/javascript" src="/slick-1.5.7/slick/slick.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){
console.log("inside docready");
$('.slider-for').slick({
slidesToShow: 1,
slidesToScroll: 1,
fade: true,
asNavFor: '.slider-nav',
});


$('.slider-nav').slick({
slidesToShow: 3,
slidesToScroll: 1,
dots: true,
asNavFor: '.slider-for',
dots: true,
centerMode: true,
centerPadding: '3%',
focusOnSelect: true,
});

$('.single-item').slick({
dots: false,
arrows: true,
});
});
</script>

页面加载时,slider-nav 中只有一张图片可见。单击左/右 slick-arrow 时,图像会正确显示。我试图在 jsFiddle 中编写相同的代码.但我认为它在那里工作得很好(不确定是否因为我已经避免在那里使用 for 循环。)

最佳答案

让我提一下,我的这段代码进入了一个默认情况下不活动的选项卡。 I figured that the width calculation of the image divs is not happening when the tab becomes active.如果这是页面加载时默认情况下的事件选项卡,则它可以正常工作,否则就不行。这是因为 bootstrap 使用 display:none 来处理隐藏的标签,并且不可能使用 display:none 获取标签的宽度。我找到了解决方案 here .

在设置所有这些选项卡的主页中,我插入了以下代码:

.tab-content > .tab-pane,
.pill-content > .pill-pane {
display: block; /* undo display:none */
height: 0; /* height:0 is also invisible */
overflow-y: hidden; /* no-overflow */
}
.tab-content > .active,
.pill-content > .active {
height: auto; /* let the content decide it */
}

我遵循 CSS 解决方案来更改隐藏选项卡在 Bootstrap 中的处理方式。

关于javascript - slick 的 slider 图像仅在单击 slick 箭头后加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32267953/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com