0

我有一个显示投资组合的单页网站。基本上它由一个图像列表组成,这些图像使用sudoslider显示为幻灯片

加载新幻灯片(在本例中为图像)后,应更新图像的描述。

出于某种原因,描述会显示两次,正如您在通过 wordpress 创建的这个版本中看到的那样。奇怪的是,我有这个网站的静态版本,似乎不会产生这个问题,而 html/javascript/css 结构完全相同(只要我没有忽略某些东西)。

相关代码:

html列表:

<section id="portfolio">
    <ul id="portfolio-ontwerpen" class="noscript">
        <li>
            <figure><img width="800" height="569" src="http://haendehoch.nl/wp/wp-content/uploads/2013/01/klinch1.jpg" class="attachment-large wp-post-image" alt="klinch1" /></figure>
            <figcaption>Klinch poster</figcaption>
        </li>
        <li>
            <figure><img width="800" height="565" src="http://haendehoch.nl/wp/wp-content/uploads/2013/01/hh_grid.jpg" class="attachment-large wp-post-image" alt="hh_grid" /></figure>
            <figcaption>Grid</figcaption>
        </li>
    </ul>
</section>

javascript:

var sudoSlider = $("#portfolio").sudoSlider({
    afterAniFunc:   $("aside figcaption").text($(this).find('figcaption').text()); },
});

$(this) 在这种情况下是指当前幻灯片(当前列表项)

afterAniFunc 的 sudoslider 描述(基本上是在下一张幻灯片动画完成后执行的函数)

在AniFunc 之后:假。与之前的 AniFunc 相同。它只是在动画(仍然是任何动画)完成后运行。如果使用淡入淡出,beforeAniFunc 不会执行多次,但如果使用 Continuous,仍然可以执行多次。

4

1 回答 1

1

我不确定它是如何/为什么会发生的,但您似乎正在使用语句选择多个元素:

$(this).find('figcaption').text()

只选择第一个元素为我提供了正确的结果:

$(this).find('figcaption').first().text()
于 2013-01-08T19:58:09.820 回答