图片的onload加载效果好慢,求优化!

風箏線已斷 2013-11-02 05:35:17
先上代码:
 <asp:DataList ID="lit_pro" runat="server" RepeatColumns="3">
<ItemTemplate>
<li>
<div class="pic">
<img alt="" src="admin/product/<%#Eval("productPic") %>" onload="UploadImage(this)" />
</div>
</li>
</ItemTemplate>
</asp:DataList>

js代码:
  <script language="javascript" type="text/javascript">

function UploadImage(image) {
var fixedHeight = 198;
var fixedWidth = 198;
if (image.height > fixedHeight || image.width > fixedWidth) {
if (image.height * fixedWidth > image.width * fixedHeight) {
image.height = fixedHeight;
}
else {
image.width = fixedWidth;
var hei = ((200 - image.height) / 2);
image.style.cssText = "padding-top:" + hei + "px;";
}
}
}

</script>

本地制作的时候没发现问题,上传到服务器上打开页面,完全乱套,达不到效果,很多图片都还是原始大小,可页面已经加载完毕了,有时刷新下会好但多数还是不行。刚学js,求帮忙优化或者给我个方法,我想实现上传到网站上的图片不会超过我定义的宽度和高度,没超过时候,居中在div里显示。
...全文
547 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
風箏線已斷 2013-11-04
  • 打赏
  • 举报
回复
调好了,谢谢各位的帮忙!
風箏線已斷 2013-11-04
  • 打赏
  • 举报
回复
引用 3 楼 u012017466 的回复:
<img style="max-height:198px;max-width:198px;margin:0 auto;"/> 高度居中用js计算下就行了。
还不是要在加载每张图片的时候调用onload吗?用了max-height,max-width:198px;怎么用js完成高度居中的样式更改?
Kimshuen 2013-11-03
  • 打赏
  • 举报
回复
图片缓存时不会触发onload img.complete
qq6342487 2013-11-02
  • 打赏
  • 举报
回复
好难啊,非常难
牧客工作室 2013-11-02
  • 打赏
  • 举报
回复
<img style="max-height:198px;max-width:198px;margin:0 auto;"/> 高度居中用js计算下就行了。
牧客工作室 2013-11-02
  • 打赏
  • 举报
回复
使用max-h、eight和max-width属性试试

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧