每当我启动新的模态(SimpleModal)并使用(Tinyscrollbar)滚动浏览内容时,我都会遇到问题,因为滚动条似乎隐藏了内容的第一个项目符号(红色错误消息)。请查看下面的小提琴,单击以打开模式,然后抓住滚动条,将其向下移动,然后再向上移动以查看隐藏的项目符号。

我猜想这样做的唯一原因是由于模态弹出时高度会发生变化,这就是为什么我读取模态容器的高度并使用它来定义“视口”,然后我将tinyscrollbar_update()设置为no的原因有用。

我的JS:

$(document).ready(function(e) {
// Remove Order (from cart) Modal
$('.btn_remove_order').click(function() {
    $(".modalMultiAlert").modal({
        opacity: 60,
        overlayCss: { height: "200px" },
        minHeight: 200,
        maxHeight: 800,
        onShow: function() {
            var heightscroll = $('.simplemodal-container').height();
            $('.viewport').css('height', heightscroll);
            var scrollbar = $('#scrollbar_container');
            scrollbar.tinyscrollbar();
            scrollbar.tinyscrollbar_update();
        },
        close: false
    });
});


});

HTML和CSS可以在小提琴中看到:

http://jsfiddle.net/cd80cpan/6/

谢谢您的帮助!

最佳答案

找到了解决方案!我只是简单地制作了Tinyscrollbar容器的副本(.clone),然后在同一容器上执行了.replaceWith,然后从那里绑定Tinyscrollbar,请参见代码;

    var $scrollbar = $('#scrollbar_container');
    // Let's make a copy of the Scrollbar Container
    var $modalCopy = $scrollbar.clone();
    // Remove Order (from cart) Modal
    $('.btn_remove_order').click(function() {
        $(".modalMultiAlert").modal({
            opacity: 60,
            minHeight: 200,
            maxHeight: 800,
            onShow: function() {
                // Replace the Scrollbar container after the Modal has loaded with Copy
                $scrollbar.replaceWith($modalCopy);
                // Determine height of the Modal
                var $heightscroll = $('.simplemodal-container').height();
                // Change the viewport height based on Modal height
                $('.viewport').css('height', $heightscroll);
                // Initialize Tinyscrollbar
                $modalCopy.tinyscrollbar();
            },
            close: false
        });
    });

关于jquery - Tinyscrollbar隐藏在SimpleModal中的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26393725/

10-11 14:23