请注意我添加到元素中的id="sourceImg"
,其中必须是对于每页每个元素都是唯一的。不这样做将意味着Javascript不会知道选择哪个元素,并会选择一个。
<img id="sourceImg" src="source.png" title="icon">
<script>
if (screen.width == 1920) {
document.getElementById('sourceImg').style.height = '60px';
}
</script>
,要么需要运行的标记落在页面的源代码后,或在window.onload
事件处理程序。如果它在img
元素可用之前运行,它将会出错。
注意 - JohnFx的方法,他在评论描述如下:
<img id="sourceImg" src="source.png" title="icon" onload="sizeMe()">
<script>
function sizeMe() {
if (screen.width == 1920) {
document.getElementById('sourceImg').style.height = '60px';
}
}
</script>
它使用img
元素的onload
处理。请注意,嵌入式事件处理程序(例如onload=""
,onclick=""
等)通常被认为难以维护。但是,上述内容应该可以作为演示,其他路径涉及理解页面加载,DOM元素可用性以及比简单示例更难以理解的其他细节。
编辑
而且,技术上,你可以这样做:
<img id="sourceImg"
onload="if(screen.width < 1920) this.style.width='60px';"
src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/001_Jornal_Monsenhor_A_Comarca_23_de_Marco_de_1947.jpg/762px-001_Jornal_Monsenhor_A_Comarca_23_de_Marco_de_1947.jpg"
title="icon">
http://jsfiddle.net/pdN3y/
注意,我改变了if
声明作出改变更加明显。
但是请不要。这是一个坏主意,也是一个不好的习惯。花一些时间搞清楚页面加载和DOM可用性,花费时间。
你不能这样做。 – 2011-12-21 04:44:24
是否有任何技巧或解决方法可以让这样的应用程序起作用? – user981053 2011-12-21 04:46:28