所有包含元素的宽度 +最后一个元素的宽度
我需要一个容器 div 作为其所有图像的组合宽度,加上最后一个图像的宽度。我已经得到了组合图像的宽度:
$(window).load(function() {
$('.pressimage').each(function() {
var totalImageWidth = 0;
$("img", this).each(function () {
totalImageWidth += $(this).width();
});
$(this).width(totalImageWidth);
});
});
那么我现在如何添加最后一个图像的宽度?我已经尝试过这个,但它不起作用:
$(window).load(function() {
$('.pressimage').each(function() {
var totalImageWidth = 0;
$("img", this).each(function () {
totalImageWidth += $(this).width();
});
$("img", this).last(function () {
lastImageWidth = $(this).width();
});
$(this).width(totalImageWidth + lastImageWidth);
});
});
谢谢
更新。 抱歉,我正在处理错误的代码。这是我所拥有的,它使 div 成为其所有图像的宽度:
$(window).load(function() {
var pub_accum_width = 0;
$('.view-public-collection .pubimagecolor').find('img').each(function() {
pub_accum_width += $(this).width();
});
//alert(pub_accum_width);
$('.view-public-collection .view-content').width(pub_accum_width);
});
这是我修改后的代码,但它并没有使 div 变得更宽:
$(window).load(function() {
var pub_accum_width = 0;
var pub_accum_last = 0;
$('.view-public-collection .pubimagecolor').find('img').each(function() {
pub_accum_width += $(this).width();
});
$('.view-public-collection .pubimagecolor').find('img').last(function() {
pub_last_width += $(this).width();
});
$('.view-public-collection .view-content').width(pub_accum_width + pub_last_width);
});
谢谢
I need a container div to be the combined width of all its images, plus the width of the last image. Ive got the width of the combined images with this:
$(window).load(function() {
$('.pressimage').each(function() {
var totalImageWidth = 0;
$("img", this).each(function () {
totalImageWidth += $(this).width();
});
$(this).width(totalImageWidth);
});
});
So how can I now add the width of the last image? Ive tried this but it doesn't work:
$(window).load(function() {
$('.pressimage').each(function() {
var totalImageWidth = 0;
$("img", this).each(function () {
totalImageWidth += $(this).width();
});
$("img", this).last(function () {
lastImageWidth = $(this).width();
});
$(this).width(totalImageWidth + lastImageWidth);
});
});
Thanks
UPDATE.
Sorry, I was working on the wrong code. Here's what I have which makes the div the width of all its images:
$(window).load(function() {
var pub_accum_width = 0;
$('.view-public-collection .pubimagecolor').find('img').each(function() {
pub_accum_width += $(this).width();
});
//alert(pub_accum_width);
$('.view-public-collection .view-content').width(pub_accum_width);
});
And here is my modified code, but it hasn't made the div any wider:
$(window).load(function() {
var pub_accum_width = 0;
var pub_accum_last = 0;
$('.view-public-collection .pubimagecolor').find('img').each(function() {
pub_accum_width += $(this).width();
});
$('.view-public-collection .pubimagecolor').find('img').last(function() {
pub_last_width += $(this).width();
});
$('.view-public-collection .view-content').width(pub_accum_width + pub_last_width);
});
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
更新问题的答案:
last()
是一个单独的遍历函数,您不能向其添加回调参数。选择最后一个元素,然后使用each()。您还使用不同的变量名称。您必须在
之后的
,以便能够在外部再次使用它。last()
回调each()
回调之外定义lastImageWidth
变量last()ANSWER FOR UPDATED QUESTION:
last()
is a separate traversing function, you can not add a callback parameter to it. Select the last element with it, then useeach()
. Also you use different variable names.You have to define the
lastImageWidth
variable outside of thelast()
callbackeach()
callback afterlast()
, to be able to use it outside again.