我遇到以下代码的问题:
<!DOCTYPE html>
<html>
<script type="text/javascript" src="jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#pic').attr("src", "image.jpg");
if ($('#pic').width() > 85)
$('#pic').attr("width", "85px");
});
</script>
<body>
<img id="pic" src="">
</body>
</html>
当第一次加载时打开浏览器并浏览到该页面时,会加载带有原始宽度的“image.jpg”图像。刷新后宽度为85px。
在第一次设置源之后警告图像宽度时宽度为0px。
请帮忙, 感谢
答案 0 :(得分:1)
为什么不设置css规则,如
#pic{
width:85px;
}
答案 1 :(得分:0)
您需要等待图像加载才能引用其属性等
DEMO:http://jsfiddle.net/7wuVb/
$(document).ready(function() {
$('#pic').load(function() {
if ($('#pic').width() > 85)
$('#pic').attr("width", "85px");
});
$('#pic').attr("src", "https://www.google.com/logos/2014/worldcup14/closing/cta.png");
});
答案 2 :(得分:0)
尝试使用两个单独的样式类。
.outter
{
width: auto;
max-width: 85px;
max-height: auto;
margin-top: 0px;
background-size: 100% auto;
background-repeat: no-repeat;
background-position: center center;
}
.inner {
max-width: 100%;
max-height: 100%;
display: block;
margin: auto;
}
<div class="outter">
<img class="inner" id="pic" src="" />
</div>
$(document).ready(function() {
$('#pic').attr("src", "https://www.google.com/logos/2014/worldcup14/closing/cta.png");
});
尽可能避免在javascript中进行大小操作。依靠CSS来完成这项工作。