起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: q2045377

[处理中3] 对于图片宽高计算

[复制链接]
发表于 2017-6-21 09:53:47 | 显示全部楼层
q2045377 发表于 2017-6-20 21:45
网上找到方法   求问   如果是多张图片   在 怎么用for循环处理方法怎么处理哈   麻烦了
        Model.pr ...

你是list 中 显示多行数据吗??

如果是的话可以使用
var imgs = this.getElementsByXid('image3');
获取dom对象的数组!

然后for循环 imgs  调用imgLoad 应该就行的!


getElementsByXid 就是获取数组
getElementByXid  是获取一个dom元素
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-6-21 10:29:57 来自手机 | 显示全部楼层
liangyongfei 发表于 2017-6-21 09:53
你是list 中 显示多行数据吗??

如果是的话可以使用

不是哈,,不是list,,是页面上的几张图片
回复 支持 反对

使用道具 举报

发表于 2017-6-21 11:16:40 | 显示全部楼层
q2045377 发表于 2017-6-21 10:29
不是哈,,不是list,,是页面上的几张图片

都是 img 标签吗??那就使用
xid 不一样吧!  那就分别使用
this.getElementByXid   获取每个图片的don对象存放在数组中!自己循环数组去遍历把!


qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-6-21 11:18:07 | 显示全部楼层
liangyongfei 发表于 2017-6-21 11:16
都是 img 标签吗??那就使用
xid 不一样吧!  那就分别使用
this.getElementByXid   获取每个图片的don ...

哦哦  好的  谢谢
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-6-21 11:33:18 | 显示全部楼层
本帖最后由 q2045377 于 2017-6-21 11:34 编辑
liangyongfei 发表于 2017-6-21 11:16
都是 img 标签吗??那就使用
xid 不一样吧!  那就分别使用
this.getElementByXid   获取每个图片的don ...

没效果  感觉  哪里错了哈   list  图片循环上
var t =this.getElementsByXid('image6')
         function imgLoad(img, callback) {
         var timer = setInterval(function() {
         if (img.complete) {
         callback(img)
       clearInterval(timer)
          }
         }, 50)
          }
        for(i=0;i<t.length;i++){
        var x=t【i】;
           imgLoad(x, function() {
         var width = $(x).width();////得到图片的宽度
         var height = $(x).height();//得到图片的高度
         var Maxwidth = $(x.parentNode).width();//获得最大宽度
        var Maxheight = $(x.parentNode).height();///获得最大高度
        var margnheight;
        var newheight;  
        $(x).css("width", Maxwidth);
        newheight = height / (width / Maxwidth);     
       if(newheight>Maxheight){
       margnheight = (Maxheight - newheight) / 2;
       $(x).css("margin-top", margnheight);   
       }
  })
}
回复 支持 反对

使用道具 举报

发表于 2017-6-21 11:55:11 | 显示全部楼层
q2045377 发表于 2017-6-21 11:33
没效果  感觉  哪里错了哈   list  图片循环上
var t =this.getElementsByXid('image6')
         functio ...

1.确定 list渲染完了吗?
http://docs.wex5.com/wex5-ui-question-list-2171

2.你使用setInterval 循环执行!都是在50毫秒后运行!
建议在 imgLoad 的回调中执行 for循环比较合适!

你先试试button点击事件中处理是否正常??
正常后再考虑onLoad事件!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-12 22:02 , Processed in 0.048535 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表