gpt4 book ai didi

jquery - Flickity 幻灯片标题和幻灯片编号

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:53 31 4
gpt4 key购买 nike

我正在实现 Flickity幻灯片,其中包括底部的幻灯片计数器和顶部的幻灯片标题。我把它们都放在了里面,但是顶部的标题不会显示应该是 img alt 标签的内容。

这就是我的 - JSfiddle

HTML:

<section class="ux-carousel">
<div class="carousel">
<div class="carousel-cell">
<img class="carousel-cell-image" src="https://source.unsplash.com/5i8l46zW8do" alt="Image 01" width="1170" height="685" />
</div>
<div class="carousel-cell">
<img class="carousel-cell-image" src="https://source.unsplash.com/5i8l46zW8do" alt="Image 01" width="1170" height="685" />
</div>
</div>
<div class="carousel-counter">
<p class="carousel-status"></p>
</div>
<div class="carousel-caption">
<p class="caption">&nbsp;</p>
</div>
</section>

J查询:

var flkty = new Flickity('.carousel', {
imagesLoaded: true,
percentPosition: false,
pageDots: false
});
var carouselStatus = document.querySelector('.carousel-status');
var caption = document.querySelector('.caption');

function updateStatus() {
var slideNumber = flkty.selectedIndex + 1;
carouselStatus.textContent = slideNumber + '/' + flkty.slides.length;
}
flkty.on( 'select', function() {
// set image caption using img's alt
caption.textContent = flkty.selectedElement.alt;
});
updateStatus();

flkty.on( 'select', updateStatus );

最佳答案

非常接近,您只是在处理 flkty对象不正确; flkty.selectedElement的上下文不是 <img>元素,它是整张幻灯片,表示元素 <div class="carousel-cell"> .

因此,alt属性不存在,因此没有任何内容可以设置标题。你可以让它更动态地说找到 img在幻灯片标记中,按类过滤等,但如果您知道幻灯片内容标记结构将保持不变,最简单的解决方案是只获取 alt来自幻灯片中第一个子元素的值。

所以你的 on select 函数变成了:

flkty.on( 'select', function() {
caption.textContent = flkty.selectedElement.children[0].alt;
});

因为 .children返回上下文集中的 HTML 元素数组(例如 flkty.selectedElement 的子元素),我们可以使用数组索引符号来获取第一个元素(例如数组索引 0),它在您的标记中是 <img>然后访问它的 alt随心所欲。

在这里使用 jsFiddle:https://jsfiddle.net/b5jr2L0d/3/

关于jquery - Flickity 幻灯片标题和幻灯片编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51792658/

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