我已经经历了几个与此相关的问题,但尚未找到答案。所以这是产生错误的代码:
function centerGalImages() {
var len = $('.image').filter(':visible').length;
for (var i = 0; i < len; i++ {
var contWidth = $('.img-container')[i].width();
var imgWidth = $('.image')[i].width();
var leftOffset = (contWidth/2) - (imgWidth/2);
img.css({left: leftOffset});
}
}
我收到调用width()
的错误。
我是JS / JQuery的新手,但对我来说这看起来应该有用。 css
文件已加载到html
文件之前的jquery
文件中,此处是与.image
和.img-container
相关的CSS:
.image {
width: auto;
height: 100%;
position: relative;
}
.img-container {
display: inline-block;
width: 24.5%;
height: 200px;
overflow: hidden;
}
非常感谢任何有关为何width()
拨打电话无效的想法
编辑:这里要求的是相关的HTML:
<div>
<div class="img-container"><img class="image clickable" src=""/></div>
<div class="img-container"><img class="image clickable" src=""/></div>
...container/image elements are copied 16 times...
</div>
在jquery文件的开头设置src
值。因此,在调用时间centerGalImages()
时,已设置src
值
答案 0 :(得分:4)
使用此代码
$('.img-container')[i].width();
您正试图调用width
的{{1}}方法。哪个不存在。因此错误。 HTMLImageElement
是jQuery实例的方法,因此它应该是
width
UPD。根据HTML结构,这可能看起来更好:
$('.img-container').eq(i).width();