3

我正在努力让手风琴折叠容器在 OSX 10.8.3 上的 Safari 6.0.3 中工作

仅当存在浏览器历史记录(已访问域中的其他一些页面)时,才会出现此问题。如果您清除历史记录然后重新加载页面,则手风琴正在工作???

到目前为止我所拥有和测试的内容:1.所有其他浏览器都在工作,包括适用于 Windows 的浏览器和适用于旧版 OSX(雪豹)的 Safari 2.在检查器中,我注意到折叠后的元素设置为 height:40px 和不像 Chrome 那样 height:auto 。

你有没有注意到这种奇怪的行为?

4

1 回答 1

3

我没有找到 safari 不当行为的原因,但想出了一个解决手风琴可折叠元素的方法。过渡效果是通过 jQuery slideUp 和 slideDown 实现的。它可能对某人有帮助。

    if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {

    if(navigator.userAgent.indexOf('Mac OS X') != -1 && navigator.userAgent.indexOf('Version/6.0.3') != -1){

        $('[data-toggle="collapse"]').attr('data-toggle', "safari-collapse");

        var collapsible_elements = $(".collapse").addClass('safari-collapse').removeClass('collapse').not('.in').hide();

        $('[data-toggle="safari-collapse"]').on('click', function(e){

            e.preventDefault();

            var target = $(this).attr('href');

            if( $(this).attr('data-parent') ){      // check if data-parent (accordion)
                $(target).parent().siblings().find('.safari-collapse').not(":hidden").slideUp();    
            }

            if($(target).is(":visible")){
                $(target).slideUp();
            }
            else{
                $(target).slideDown();
            }

        });

    }

}
于 2013-04-09T20:14:01.800 回答