1

似乎在 jQuery 中,当元素不可见width()时返回 0。当我移除手风琴时,高度会正确报告。我尝试将图像包装在 div 中并将 div 的显示设置为 block ,但这也不起作用。应用手风琴时,是否有其他方法可以找到图像原始尺寸?

<div id="accordion">
    <h3>Click me</h3>
    <div>
         <div class="bg">
               <img src="your_img_url">
         </div>
    </div>      
    <h3>Click me</h3>
    <div>
         <div class="bg">
               <img src="your_img_url"/>
         </div>
    </div>
</div>
$(document).ready(function() {   
    $('#accordion').accordion({
        autoHeight: false,
        collapsible: true,
    });
    $("img").load(function() {
        alert($(this).height());
        alert($(this).width());
    });
});
4

2 回答 2

0

为我工作!

你有手风琴插件吗?

如果没有:http ://bassistance.de/jquery-plugins/jquery-plugin-accordion/

它被添加到脚本中了吗?

  • 你应该删除,最后collapsible: true,

它看起来像这样:

$(document).ready(function() {
$('#accordion').accordion({ autoHeight: false, collapsible: true }); $("img").load(function() { alert($(this).height()); alert($(this).width()); }); });

但无论如何它都有效!

于 2012-09-06T06:39:11.797 回答
0

在图像上设置特定的宽度和高度将返回该宽度和高度。这可以在 CSS 中或使用元素上的widthandheight属性来完成。<img>

将图像更改为<img src="your_img_url" style="height: 20px; width: 20px;">应该可以。

如果你需要原始宽度,你可以这样做:

var img = $('img').clone().appendTo('body').hide();
img.load(function () {
    alert($(this).width());
    alert($(this).height());
});

这个答案有更多关于如何获得原始尺寸的详细信息。

于 2012-09-06T07:04:39.590 回答