首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在调整大小时销毁jQuery Supersized

在调整大小时销毁jQuery Supersized
EN

Stack Overflow用户
提问于 2012-07-30 16:30:58
回答 2查看 2.6K关注 0票数 0

我在一个响应式网站中使用Supersized遇到了问题。如果窗口宽度小于480px,则应销毁Supersized。如果我再次调整它的大小,使窗口宽度大于480px,那么Supersized应该被重新初始化。我有这样的代码:

代码语言:javascript
复制
$(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会随着每个像素的调整而自我复制。有什么办法可以解决这个问题吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-30 16:51:05

您必须检查supersized是否已加载,如果未加载,则加载。现在,每次调整大小时都会加载。

代码语言:javascript
复制
$(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
EN

Stack Overflow用户

发布于 2012-07-30 16:52:45

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11717840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档