Javascript 通过获取视口宽度动态设置html正文的边距
我试图通过获取视口宽度来动态设置id:main的边距。我在页面中有许多相同宽度的块。因此,我希望通过动态计算剩余宽度来拟合尽可能多的块并将它们居中。块大小为240px,填充大小为20px 我试过两种密码,我在这方面已经有一段时间了Javascript 通过获取视口宽度动态设置html正文的边距,javascript,jquery,Javascript,Jquery,我试图通过获取视口宽度来动态设置id:main的边距。我在页面中有许多相同宽度的块。因此,我希望通过动态计算剩余宽度来拟合尽可能多的块并将它们居中。块大小为240px,填充大小为20px 我试过两种密码,我在这方面已经有一段时间了 var width=$(window).width() var stickies=Math.floor(width/240); //* calculate how many can fit in a row var mrg=(width-(stickies*240)
var width=$(window).width()
var stickies=Math.floor(width/240); //* calculate how many can fit in a row
var mrg=(width-(stickies*240)-20);//*calculating remaining width
var mrg=(width-(stickies*240)-20)/2;
var el1=$('#main');
var el2=$('#main');
el1.css('margin-left',mrg+'px');
el2.css('margin-right',mrg+'px');
var w=window,d=document,e=d.documentElement,g=d.getElementsByTagName('body') [0],x=w.innerWidth||e.clientWidth||g.clientWidth;
var stickies=Math.floor(var x/240);
var mrg=(var x-(var stickies*240)-20)/2;
var el1=$('#main');
var el2=$('#main');
el1.css('margin-left',mrg+'px');
el2.css('margin-right',mrg+'px');
短版
你应该需要这样的东西
var width=$(window).width();
var stickies=Math.floor(width/240); //* calculate how many can fit in a row
var mrg=(width-(stickies*240)-20)/2; //*calculating remaining width
$('#main').css({'margin-left': mrg+'px', 'margin-right': mrg+'px'});
长版本
你的代码需要大量修改
var el1=$(#main);
需要换成
var el1=$('#main');
因为现在你没有选择任何东西。您需要将选择器置于引号中
我也不明白为什么你对同一个元素使用两个变量。你可以这样做
$('#main').css({'margin-left': mrg+'px', 'margin-right': mrg+'px'});
或者类似的东西
最后,
var mrg=(width-(stickies*240)-20);//*calculating remaining width
var mrg=(width-(stickies*240)-20)/2;
第2行将覆盖第1行。这是打字错误还是你想在这里做点什么?简短版本
你应该需要这样的东西
var width=$(window).width();
var stickies=Math.floor(width/240); //* calculate how many can fit in a row
var mrg=(width-(stickies*240)-20)/2; //*calculating remaining width
$('#main').css({'margin-left': mrg+'px', 'margin-right': mrg+'px'});
长版本
你的代码需要大量修改
var el1=$(#main);
需要换成
var el1=$('#main');
因为现在你没有选择任何东西。您需要将选择器置于引号中
我也不明白为什么你对同一个元素使用两个变量。你可以这样做
$('#main').css({'margin-left': mrg+'px', 'margin-right': mrg+'px'});
或者类似的东西
最后,
var mrg=(width-(stickies*240)-20);//*calculating remaining width
var mrg=(width-(stickies*240)-20)/2;
第2行将覆盖第1行。这是打字错误还是您想在这里做什么?
$(#main)
会给您一个语法错误。。应该是$(“#main”)
pebbl,谢谢。即使这样也帮不了我。$(#main)
会给你一个语法错误。。应该是$(“#main”)
pebbl,谢谢。即使那样也帮不了我。谢谢。不,这不是打字错误,我在发帖时看不到这么小的文字。我想起来了,还是有东西丢了。我还是想不出哪一部分有问题。谢谢。不,这不是打字错误,我在发帖时看不到这么小的文字。我在想,还是有什么遗漏我仍然无法找出哪个部分有bug