jQuery – 通过从窗口大小中减去像素来计算元素宽度
我的目标是通过从窗口大小减去200px来计算固定定位元素的宽度(顶部:0;左:200px;),以便它适合视口的其余部分。 因此我使用了以下代码,但遗憾的是它不起作用。 希望你们中的某些人可以帮助我!
$(function() { width = ($(window).width() - 100); $("div").css("width", width); });
实际上,您不需要依赖jQuery。 通过在该元素上声明right: 0
,有一个简单的CSS技巧来完成这项工作。 它会强制它自然地一直延伸到视口的右边界。
div { position: fixed; top: 0; left: 200px; right: 0; }
请看这里的小提琴: http : //jsfiddle.net/teddyrised/2Fhue/
更新1: OP已经提供了他自己的小提琴,所以这里是应用了修复的那个: http : //jsfiddle.net/teddyrised/w555h/2/ 。 我也冒昧地删除height: 100%
并使用bottom: 0
代替,这表明与使用位置坐标强制拉伸元素的维度相同的概念:)
更新2: OP已经请求了一个基于jQuery的解决方案(打败我为什么,但无论如何……),以及它是如何工作的 – 我们在$(window)
上触发resize事件时触发的匿名函数中执行宽度计算$(window)
对象。 第二个.resize()
事件被链接,以便在DOM就绪时触发。
$(function() { $(window).resize(function() { var width = $(this).width() - 200; $("#content").css("width", width); }).resize(); });
http://jsfiddle.net/teddyrised/w555h/4/
评论:我通常会尝试避免使用jQuery(或JS)这样的目的,因为CSS可以很容易地使用。 这是因为通过计算视口宽度,您还必须监听窗口的.resize()
事件,这会使事情变得复杂。
- 你需要使用两个电话 – 在ajax中获得1个和1个post,还是可以通过成功/失败发回数据?
- $(’select option:selected’)。text()和Attr.specified是不推荐使用的警告
- ASP.NET MVC 2使用jQuery加载局部视图 – 没有客户端validation
- AJAX长轮询不适用于IE
- 如何使用javascript将时间(上午12:30)转换为时间戳?
- Bootstrap datepicker从另一个datepicker更改minDate / startDate
- 如何在Jquery中搜索数组,如SQL LIKE%value%statement
- 什么是jQuery AJAX抛出的302错误代码?
- 通过制表符和jQuery和JSP加载替代内容