.height只工作一次

时间:2013-04-09 19:06:49

标签: jquery

我首先隐藏所有幻灯片并读入数组。然后我使用前进和上一个按钮来浏览幻灯片。每个人都有自己的描述,在div内。幻灯片本身是有效的,当我浏览时,描述会在每个新幻灯片上完美显示。但是当我试图显示描述文本的高度时,就像这样:

    $('.slide-desc').click(function () {
        $(this).text($('.slide-desc').height());
    });

它将在每个幻灯片中返回0除了数组中的第一个幻灯片。 但是所有幻灯片实际上都会加载到该阵列中,因为我的幻灯片可以正常工作。

这就是我将所有幻灯片转换为数组的方式:

    function getSlides() { 
        slidesArray = $('.slide').toArray();
        slidesArrayReversed = $('.slide').toArray().reverse();
    };

为什么它仅适用于第一个?

更多细节: 您可以在http://purplerain.com.br/portfolio.html中看到该脚本的实际应用 在这里你可以看到整个脚本的代码:http://purplerain.com.br/js/fullscreen-slideshow.js

这里发布的时间很长。作为一个警告...我倾向于使用更多的有限状态机思维模式而不是面向对象的思维模式进行编码。

感谢帮助^^

1 个答案:

答案 0 :(得分:0)

您的js可能存在问题,请使用$(this)

$('.slide-desc').click(function () {
    $(this).text($(this).height());
});

您也可以尝试使用此插件来获取任何状态(隐藏或可见)中任何元素的高度

https://github.com/dreamerslab/jquery.actual