【问题标题】:javascript/Jquery Accordion is not working rightjavascript/Jquery Accordion 无法正常工作
【发布时间】:2010-09-04 03:29:26
【问题描述】:

我有 jquery 手风琴的问题。这似乎很棘手。

第一台手风琴 project1 运行良好(感谢Nick Craver),但第二台和第三台手风琴无法正常运行。我真的不知道我是否应该使用.filter

这里是代码和示例页面:http://jsfiddle.net/THjgV/2/

谢谢。

【问题讨论】:

    标签: javascript jquery html jquery-ui


    【解决方案1】:

    由于它们都有不同的高度,您需要单独存储和使用每个高度,我建议使用$.data().data()。还要将您的 ID 更改为类,因为它们应该是唯一的。

    $('.slickbox').hide().each(function() {
        $.data(this, 'height', $(this).height());
    });
    $('.more a').toggle(function() {
        var sb = $(this).parent().prev('.slickbox').slideDown(3200);
        $('html, body').animate({
            scrollTop: '+=' + sb.data('height')
        }, 3200);
        return false;
    }, function() {
        var sb = $(this).parent().prev('.slickbox').slideUp(3200);
        $('html, body').animate({
            scrollTop: '-=' + sb.data('height')
        }, 3200);
        return false;
    });
    

    You can test it out here,它循环并存储每个.slickbox 的高度(现在使用一个类!)并存储它。单击每个链接时,它会专门切换其前面的 class="slickbox" 元素,并使用它存储的 'height' 值进行滚动。

    【讨论】:

    • 该死的人!你让我很开心:) 再次感谢! PS:你今天教了我 Jquery 手风琴的行为。谢谢
    猜你喜欢
    • 2019-01-07
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多