2

我正在使用引导选项卡,并且其中一个选项卡中有图像。我需要得到它们的宽度,但问题是它们被设置为display:none直到我点击那个选项卡,所以 jquerywidth()总是返回 0。我试过把它放进去window.load#tabid.load但它们都不起作用。那么有没有办法在隐藏的 jquery 选项卡中获取图像的宽度?我只在显示选项卡时才需要它们的宽度,所以我认为应该有一些事件侦听器在选定的选项卡完全加载但我还没有找到它时触发。也按照引导程序中的描述进行了尝试on('shown',function()),但它也不起作用。

编辑:这是代码:

<ul class="nav nav-tabs" id="myTab">
     <li class="active"><a href="#popis" data-toggle="tab">Popis</a></li>
     <li><a href="#recenzie" data-toggle="tab">Recenzie</a></li>
     <li><a href="#galeria" data-toggle="tab">Galéria</a></li>
     <li><a href="#ostatne-produkty" data-toggle="tab" id="#test">Súvisiace produkty</a></li>
</ul>

javascript:

$('#test').on('shown',alert($('img.product-thumbnail').width()));

即使在页面加载之前,此事件也会立即触发并显示为空。还尝试将 id="test" 放入 href 而非实际中,但它也不起作用。无论如何,引导文档说它应该在而不是在 div

4

1 回答 1

0

问题是on.('show'图像已加载但尚未渲染$.width,因此$.height不提供尺寸信息。

但是你可以直接读取DOM 元素之后的widthandheight属性。img$(window).load

例子

如果您需要渲染图像并且只希望获取它们的渲染大小,那么您应该使用on('shown'.... 仅在显示选项卡(包含图像)后触发。

我已经尝试过了,它按预期工作

于 2013-06-30T13:31:09.020 回答