在刚刚调用的append函数之后,jquery.height()不会返回实际值
jquery .height() is not returning the real value after the append function just called
我正在尝试使用jquery垂直对齐中间的一些图片。
这是我的代码
$(".scroll a").hover(function (evt) {
$("#box a").empty().append(
$('<img src='+this.href+' class="loadimg">')
);
vertical_align();
});
而垂直对齐功能在这里是
function vertical_align(){
var child = $(".loadimg").height();
var parent = $("#box").height();
var margin = (parent - child)/2;
$("#box a").children("img").css('margin-top', margin);
}
现在我面临的问题是,当加载页面时,imageHeight
为零,图片的边距变为父高度的一半,这意味着imageheight
返回零。但这只是第一次在每张图片上悬停。
发生这种情况可能是因为您读取高度太早,而在第一次请求时图像还没有完全加载。您应该等待图像的加载(或完成,从同一图像的第二个请求开始)事件,就像一样
$(".scroll a").hover(function (evt) {
var node = $("#box a");
node.empty();
$('<img src='+this.href+' class="loadimg">')
.appendTo(node)
.one('load complete', function() {
vertical_align();
});
});
相关文章:
- 将Javascript函数链接到返回jQuery对象的jQuery函数
- 如何返回jQuery对象中的文本节点
- 何时返回jQuery函数,而不是仅仅调用它
- 为什么jQuery add()方法似乎没有返回jQuery对象
- 返回 jquery-ui 滑块上标记句柄的索引
- 自动返回 jQuery 对象
- 异步 TypeScript 函数返回 jQuery promise
- Asp.Net 控件值返回 Jquery 中未定义
- 如何返回 JQuery 承诺
- 如何在ajax加载后返回jquery
- 返回Jquery ajax数据,但未调用success函数
- 返回jquery ajax调用的成功或失败标准
- 是否将回调附加到任意函数?返回:jQuery
- 读取json数据返回jQuery时出现问题
- 返回jquery中单击的li的值
- 添加多个返回jquery
- 使用模数自定义分页返回jquery循环
- 使用索引从jQuery数组返回jQuery对象(而不是DOM)
- 从AJAX返回Jquery UI滑块
- 无法返回jQuery's $.each的结果数组