chrome下jq width()方法取值为0的解决方法_jquery

http://photo.163.com/shixiaojian089/train/28002 这是网易的一个相册,看到后想试着做做看。

在我的制作方法中,需要获取到每张照片的宽度,所以很自然就使用了jq的width()方法。在ff跟ie下运行问题不大,但是到了chrome上,就出现问题了。

使用alert排查,发现chrome下width方法取到的值都是0.这样子的话,想来就是脚本运行到这的时候图片根本没加载好。问题应该出在$(function(){});上,因为这个方法只要求加载完dom就开始运行。那么改成在onload下执行,果然这下可以了。不过这明显不是很好的办法,毕竟在onload下运行要等到整个文件全部内容全部加载好后再运行脚本。

网上搜索一下后,发现这哥么http://www.jb51.net/article/50402.htm也遇到了同样的问题,在其的评论下方有一种解决方案,可以参考:

在要获取图片宽高的地方用

复制代码 代码如下:

$img.load(function(){
var img_h = $img.height();
var img_w = $img.width();
}

这样可以仍旧使用$(function(){});在需要图片加载的地方对图片对象调用load方法,避免等待整个文件内容加载完毕。

时间: 2024-09-19 08:54:50

chrome下jq width()方法取值为0的解决方法_jquery的相关文章

JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法_javascript技巧

本文实例讲述了JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法.分享给大家供大家参考,具体如下: 主页面: <script type="text/javascript"> function SelectGroupCust() { var temp = window.showModalDialog("Default2.aspx?xx=" + Date(), "", "dialog

jQuery 取值、赋值的基本方法整理

 这篇文章主要介绍了jQuery 取值.赋值的基本方法,需要的朋友可以参考下 /*获得TEXT.AREATEXT的值*/  var textval = $("#text_id").attr("value");  //或者  var textval = $("#text_id").val();  /*获取单选按钮的值*/  var valradio = $("input[@type=radio][@checked]").val(

php-PHP下xml无法正常取值

问题描述 PHP下xml无法正常取值 输入数据: $xml=SimpleXMLElement Object ( [URL] => http://test.net/index.php?m=home&c=index&a=test [ToUserName] => touser [FromUserName] => fromuser [CreateTime] => 20160129 [MsgType] => text [Content] => test_messa

Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值_jquery

首先来看工程结构图: 项目所需要的包,如下所示: JSP代码: <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServe

ASP.NET从客户端中检测到有潜在危险的request.form值的3种解决方法

 这篇文章主要介绍了ASP.NET从客户端中检测到有潜在危险的request.form值的3种解决方法,这是ASP.NET开发中一个比较常见的经典的问题,需要的朋友可以参考下     当页面编辑或运行提交时,出现"从客户端中检测到有潜在危险的request.form值"问题,该怎么办呢?如下图所示: 下面博主汇总出现这种错误的几种解决方法: 问题原因:由于在asp.net中,Request提交时出现有html代码或javascript等字符串时,程序系统会认为其具有潜在危险的值.环境配

jquery-easyui filebox 在IE下选中同一个文件时无法触发onchange的解决方法

问题描述 easyui filebox 在IE下选中同一个文件时无法触发onchange的解决方法 easyui filebox 在IE下选中同一个文件时无法触发onchange的解决方法,火狐.谷歌是可以的 解决方案 IE可以新生产一个file对象,参考:easyUI filebox选择同一个文件不触发onchange事件解决办法

PHP调用存储过程返回值不一致问题的解决方法分析_php技巧

本文实例讲述了PHP调用存储过程返回值不一致问题的解决方法.分享给大家供大家参考,具体如下: 今天遇一个同学聊存储过程返回值经常得到意外的值为null, 因为白天有事,晚上给做一个实验放在这里供有相应问题的同学查看一下. 存储过程: delimiter// createprocedureusp_s2(outpar1int) begin selectinet_ntoa(ip),portfromproxy_listlimit5; selectcount(*)intopar1fromproxy_lis

jquery ajax jsp 返回值乱码二向解决方法

jquery ajax 网页特效p/jsp.html target=_blank >jsp教程 返回值乱码二向解决方法在以前开发ajax时经常会碰到乱码,今天我们用jquery ajax+jsp时,又出来乱码了,经常测试找到了二种处理jquery ajax乱码问题,下面看看. <script> $().ready(function(){ var url="/www.111cn.net/ajaxgetnewsclassfather.do"; var pars="

jQuery 取值、赋值的基本方法整理_jquery

/*获得TEXT.AREATEXT的值*/ var textval = $("#text_id").attr("value"); //或者 var textval = $("#text_id").val(); /*获取单选按钮的值*/ var valradio = $("input[@type=radio][@checked]").val(); /*获取一组名为(items)的radio被选中项的值*/ var item =