在调整大小时销毁jQuery Supersized

时间:2012-07-30 08:30:58

标签: jquery resize supersized

我在响应式网站中使用Supersized时遇到问题。如果窗口宽度低于480px,则应超过Supersized。如果我再次调整窗口宽度大于480px,则应重新初始化Supersized。我有这段代码:

$(document).ready(function() {
        var newWindowWidth = $(window).width();
        if(newWindowWidth < 480){
            $("#supersized").remove();
        } else {
            $.supersized({
                slides: [{ image: 'images/bg.jpg', title: ''}]
            });
        }
    });
    $(window).resize(function() {
        var newWindowWidth = $(window).width();
        if(newWindowWidth < 480){
            $("#supersized").remove();
        } else {
            /*var loadSupersizedDiv = jQuery('<div id="supersized"></div>').appendTo(document.body);*/
            $.supersized({
                slides: [{ image: 'images/bg.jpg', title: ''}]
            });
        }
    });

我知道这不是完美的,但我现在遇到的问题是,超大的div与调整大小的每个像素重复。有办法解决这个问题吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

您必须检查是否已加载超级大小,如果没有,则加载。现在它加载每个调整大小。

$(window).resize(function() {
    var newWindowWidth = $(window).width();
    if(newWindowWidth < 480){
        $("#supersized").remove();
    } else if ($("#supersized").length == 0 && newWindowWidth > 480) {
        var loadSupersizedDiv = jQuery('<div id="supersized"></div>').appendTo(document.body);

        $.supersized({
            slides: [{ image: 'kazvan-1.jpg', title: ''}]
        });
    }
});

好的,测试它,基本上它只是检查#supersized是否已存在然后不创建新的。

答案 1 :(得分:0)

您可以尝试使用$("#supersized").width(x)$("#supersized").css('width', x + 'px'),而不是删除和重新创建元素。