jQuery(window).load(function() {
jQuery.each(jQuery(".extraimgs"), function() {
//this.height = 0 and this.width=0 in IE only
if (this.height > this.width) {
if (this.height > 263) {
this.height = 263;
}
if (this.width > 354) {
this.width = 354;
}
}
else {
this.height = 263;
this.width = 354;
}
});
});
HTML代码
<asp:DataList runat="server" ID="dlImages" RepeatColumns="2" RepeatDirection="Horizontal" RepeatLayout="Table" OnItemDataBound="dlImages_ItemDataBound" Style="display: none;">
<ItemTemplate>
<div>
<asp:Image runat="server" ID="imgPics" class="extraimgs" />
</div>
</ItemTemplate>
</asp:DataList>
我在IE中遇到此代码的问题。在这里,我在运行时(页面加载事件 - 使用jQuery)和使用代码隐藏的图像源设置图像的高度和宽度。
此代码适用于除IE8以外的所有浏览器。在页面加载事件中,我得到图像的高度和宽度,但我没有得到IE8中图像的高度和宽度。我在加载事件期间尝试了很多图像的高度和宽度,但它不起作用。
有人知道解决方案吗?
答案 0 :(得分:1)
好的,根据我上面的评论,这是一个应该有效的版本:
jQuery(function() {
jQuery(".extraimgs").load(function() {
var $this = $(this);
if ($this.height > $this.width) {
if ($this.height > 263) {
$this.height = 263;
}
if ($this.width > 354) {
$this.width = 354;
}
}
else {
$this.height = 263;
$this.width = 354;
}
});
});
答案 1 :(得分:0)
试试这个:
jQuery(document.body).load(function () {
jQuery(".extraimgs").each(function (i) {
if (this.height > this.width) {
if (this.height > 263) {
this.height = 263;
}
if (this.width > 354) {
this.width = 354;
}
}
else {
this.height = 263;
this.width = 354;
}
});
});
答案 2 :(得分:-1)
$(document).load()
或$(document).ready()
而不是$(window).load()
呢?