Javascript 如何使用浏览器的宽度和主体的宽度动态计算固定div元素的定位宽度

Javascript 如何使用浏览器的宽度和主体的宽度动态计算固定div元素的定位宽度,javascript,jquery,css,wordpress,position,Javascript,Jquery,Css,Wordpress,Position,我正在为两个div使用下面的CSS样式,这两个div将在我的网站上的主体的左侧和右侧放置摩天大楼广告 /*-----Sky Scraper ad----*/ #SkyAdLeft{ width: 160px; display: block; position: fixed; top: 100px; left: 10px; height: 600px; z-index: 7; } #SkyAdRight{ width: 160px; display: block; posi

我正在为两个div使用下面的CSS样式,这两个div将在我的网站上的主体的左侧和右侧放置摩天大楼广告

/*-----Sky Scraper ad----*/
#SkyAdLeft{
 width: 160px;
 display: block;
 position: fixed;
 top: 100px;
 left: 10px;
  height: 600px;
 z-index: 7;
}
#SkyAdRight{
 width: 160px;
  display: block;
 position: fixed;
 top: 100px;
 right: 10px;
 height: 600px;
 z-index: 7;
}
我希望每个DIV保持固定,但是我希望动态计算左ad中的左位置和右ad中的右位置,以便能够坐在身体左侧或右侧10px

/*-----Sky Scraper ad----*/
#SkyAdLeft{
 width: 160px;
 display: block;
 position: fixed;
 top: 100px;
 left: 10px;
  height: 600px;
 z-index: 7;
}
#SkyAdRight{
 width: 160px;
  display: block;
 position: fixed;
 top: 100px;
 right: 10px;
 height: 600px;
 z-index: 7;
}
由于我的身体总是以980px为中心,我根据浏览器的宽度计算出了这样做的数学公式。我的广告的宽度是160像素

左侧广告的宽度计算:

(浏览器宽度-980)/2=X

(浏览器宽度-(160+X+980))-10

右侧广告的宽度计算:

(浏览器宽度-980)/2=X

(浏览器宽度-X)+10

计算说明:我从动态浏览器宽度中减去主体宽度980,然后除以2,得到浏览器末端和主体末端之间的空白值。这就是广告的位置

然后,每个广告的第二次计算将计算广告在浏览器屏幕中的位置

正确的广告很简单。它是浏览器宽度减去X,X是第一次计算的空白值。然后加入10px。这会将ad 10x设置在车身右侧

/*-----Sky Scraper ad----*/
#SkyAdLeft{
 width: 160px;
 display: block;
 position: fixed;
 top: 100px;
 left: 10px;
  height: 600px;
 z-index: 7;
}
#SkyAdRight{
 width: 160px;
  display: block;
 position: fixed;
 top: 100px;
 right: 10px;
 height: 600px;
 z-index: 7;
}
左ad的第二次计算更复杂,但也会将左ad 10px设置到车身左侧

/*-----Sky Scraper ad----*/
#SkyAdLeft{
 width: 160px;
 display: block;
 position: fixed;
 top: 100px;
 left: 10px;
  height: 600px;
 z-index: 7;
}
#SkyAdRight{
 width: 160px;
  display: block;
 position: fixed;
 top: 100px;
 right: 10px;
 height: 600px;
 z-index: 7;
}
如何使用jquery或javascript进行这些计算,以及在哪里运行jquery?在css样式文件或代码中div所在的my footer.php文件中


另外,如果有人知道一个更快的解决方案,可以让我的div坐在身体左右10像素的位置。请告诉我。

如果我理解正确,您希望广告距离居中的“容器”(而不是
主体)10像素

如果是这样的话,那么只需将每个广告定位在距离其各自侧面50%的位置,并调整利润率即可


我不明白你为什么要计算浏览器/窗口的宽度!使用
位置:fixed
元素,设置
left:10px
right:10px
就足以放置它。这不是你想要的吗?当它被固定时,浏览器窗口会显示左右位置。因此,如果有不同的分辨率或不同的缩放,或者如果有人在页面中调整浏览器的大小,则广告将停留在边缘,或者如果他们将其调整为非常小,则广告将放在主体后面。所有这些看起来都非常不专业和草率。我希望广告在任何时候都是10像素的,无论发生什么!谢谢你给我指明了正确的方向!将左、右比例调整到50%,然后只设置利润,效果非常好!正是我需要的!我边学习边学习,即使我是新手,我也不能相信我没有想到这个解决方案。当一个简单的解决方案一直摆在我面前时,我正试图以艰难的方式去做一些事情!谢谢你,伙计!顺便说一句,我意识到我不需要计算任何东西,一旦左和右设置为50%。然后我把两者的边距都设置为500px。全部完成!再次感谢!我累了,打向上箭头,它说我必须是15或更高的声誉。亲爱的保利,我在我的网站mpatika.hu上用过你的方法,但问题是高度不是给定的高度,而是100%。你能帮我吗?谢谢:)我建议你用适当的代码问你自己的问题,这样我们就可以看到我们在处理什么了。