Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 改进代码,使div填充浏览器宽度_Jquery_Html_Css - Fatal编程技术网

Jquery 改进代码,使div填充浏览器宽度

Jquery 改进代码,使div填充浏览器宽度,jquery,html,css,Jquery,Html,Css,我设法创建了这段代码,使div.full\u width\u no\u padding完全填充浏览器的宽度。它在桌面浏览器中运行良好,但在iphone、nexus等移动设备中不起作用 还有别的办法吗 js html 满足于此 您应该让此代码在DOM准备就绪后执行,如果不执行此操作,则代码可能会在DOM准备就绪之前执行,并且不会应用更改,因为您的代码在DOM中找不到元素 在jQuery中很容易,只需将代码包装在$(function(){})中块,因此您将获得: $(function() {

我设法创建了这段代码,使
div.full\u width\u no\u padding
完全填充浏览器的宽度。它在桌面浏览器中运行良好,但在iphone、nexus等移动设备中不起作用

还有别的办法吗

js

html


满足于此

您应该让此代码在DOM准备就绪后执行,如果不执行此操作,则代码可能会在DOM准备就绪之前执行,并且不会应用更改,因为您的代码在DOM中找不到元素

在jQuery中很容易,只需将代码包装在
$(function(){})中块,因此您将获得:

$(function() {

    $(".full_width_no_padding").width($(window).width());
    var marginLeft = ($(window).width() - $('#region-content').width()) / 2;
    $(".full_width_no_padding").css( "margin-left", -marginLeft );
    $(window).on('resize', function(){
        $(".full_width_no_padding").width($(window).width());
        var marginLeft = ($(window).width() - $('#region-content').width()) / 2;
        $(".full_width_no_padding").css( "margin-left", -marginLeft);
    });

});

有关更多信息,请参阅:

我将用非常简单的步骤对此进行解释:

1-删除该Javascript

2-将此添加到css中:

body,html{padding:0;margin:0;}
3-确保它的所有父母都有
宽度:100%

通常,您可以假设所有块级元素(默认情况下)都具有
宽度:100%


4-利润

您的
#region content
@Brewal的style属性缺少一个双引号。谢谢,这是一个输入错误。您是否尝试将手机连接到计算机并对此进行调试?我真的很喜欢用我的Nexus5和谷歌chrome来做这件事。这就像在浏览器中调试一个标签,你可以在手机上看到live中的变化。你能用普通的CSS代替JavaScript吗?我可能遗漏了一些东西,因为这看起来像是重新发明了wheel@AlvaroMontoro如果你的容器以特定的宽度居中,而你没有html,我认为这只能用JS来完成。如果没有JS,它怎么能在桌面浏览器下工作呢?这不是特定于浏览器,而是竞争条件,有时DOM在Javascript执行之前就准备好了,有时还没有。也许他的桌面电脑的浏览器可以足够快地加载DOM。代码是在DOM准备好后执行的,我只是忘记了在我的问题中包含它。我更新了它。@JPashs您问题中的代码与我答案中的代码不同。您的代码不会等到DOM准备就绪,它会在有机会的情况下立即执行此函数,第一个参数是
jQuery
变量,并将其分配给函数体中的
$
字符。这与我使用的方法不同,这种方法专门用于等待DOM。有关更多信息,请参阅:@rednaw我明白了,对不起。我会尝试一下。在这个问题中,父对象的宽度似乎是一个约束条件,父对象的宽度必须为960px,我不能改变这一点,如果它是100%,那么使用js来实现这一点有什么意义?@JPashs你说“我设法创建了这段代码,使div.full_width_no_padding完全填充浏览器的宽度。”,你要求改进。就在那里。改进并填充浏览器窗口。
$(function() {

    $(".full_width_no_padding").width($(window).width());
    var marginLeft = ($(window).width() - $('#region-content').width()) / 2;
    $(".full_width_no_padding").css( "margin-left", -marginLeft );
    $(window).on('resize', function(){
        $(".full_width_no_padding").width($(window).width());
        var marginLeft = ($(window).width() - $('#region-content').width()) / 2;
        $(".full_width_no_padding").css( "margin-left", -marginLeft);
    });

});
body,html{padding:0;margin:0;}