我有下一个功能:
function setImagesWidth(id,width) {
var images = document.getElementById(id).getElementsByTagName("img");
for(var i = 0; i < images.length;i++) {
// If the real width is bigger than width parameter
images[i].style.width=width;
//}
}
}
Run Code Online (Sandbox Code Playgroud)
我想只在图像实际宽度大于属性值时才将所有img标签的css width属性设置为特定值.如果可能的话,我想要一个不使用任何特定框架的解决方案.
images[i].offsetWidth对于109px宽度的图像返回111.这是因为每边边界1px?
@Sergio del Amo:确实,如果您查看我的链接,您会看到您想要的clientWidth。
@Sergio del Amo:不幸的是,你不能接受你自己的答案。但是“px”后缀中确实有一个无关的句点,所以让我们继续这个,包括更改clientWidth:
// width in pixels
function setImagesWidth(id, width)
{
var images = document.getElementById(id).getElementsByTagName("img");
var newWidth = width + "px";
for (var i = 0; i < images.length; ++i)
{
if (images[i].clientWidth > width)
{
images[i].style.width = newWidth;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15083 次 |
| 最近记录: |