Jquery 宽度的继承。Bxslider
有一个问题。我的滑块可能包含不同的图像,其宽度可达1256px。幻灯片-大约4张。 滑块下方有一个块,其宽度应等于活动图像的宽度。如何做得更好Jquery 宽度的继承。Bxslider,jquery,html,css,Jquery,Html,Css,有一个问题。我的滑块可能包含不同的图像,其宽度可达1256px。幻灯片-大约4张。 滑块下方有一个块,其宽度应等于活动图像的宽度。如何做得更好 mode: fade 我试过这个: if ($ ('. carousel. bx-wrapper. item img'). css ('display') == 'block') { var widthparent = $ ('. carousel. bx-wrapper. item img'). width (); widthparent = w
mode: fade
我试过这个:
if ($ ('. carousel. bx-wrapper. item img'). css ('display') == 'block') {
var widthparent = $ ('. carousel. bx-wrapper. item img'). width ();
widthparent = widthparent + 'px';
var child = $ ('. subscribe');
child.width (widthparent);
}
但这个解决方案是不好的。
这里的宽度继承自第一个图像
它的工作原理是:
$('.carousel .list').bxSlider({
mode: 'fade',
onSlideBefore: function($slideElement, oldIndex, newIndex) {
var blockWidth = $slideElement.width();
$('.subscribe').css('width', blockWidth);
}
});
但是,在block.carousel width被建立为max width:1256px,every.item=1256px
要求宽度取自img,而非.item
例如,在第二种情况下,.subscribe必须等于1200px
<div class="carousel">
<div class="bx-wrapper" style="max-width: 100%;">
<div class="bx-viewport" style="width: 100%; overflow: hidden; position: relative; height: 508px;">
<ul class="list" style="width: auto; position: relative;">
<li class="item" style="float: none; list-style: none outside none; position: absolute; display: none; width: 1256px; z-index: 0;">
<a class="link" href="">
<img alt="" src="media/uploads/slide-1.jpg"> // width = 1000px
</a>
</li>
<li class="item" style="float: none; list-style: none outside none; position: absolute; display: none; width: 1256px; z-index: 0;">
<a class="link" href="">
<img alt="" src="media/uploads/slide-2.jpg"> // width = 1200px
</a>
</li>
<li class="item" style="float: none; list-style: none outside none; position: absolute; display: none; width: 1256px; z-index: 0;">
<a class="link" href="">
<img alt="" src="media/uploads/slide-3.jpg"> // width = 900px
</a>
</li>
....
如果没有代码示例,这是我的最佳选择。在slider调用中,有一个名为onSlideBefore的函数,它可以帮助您完成所要做的事情
$('.bx').bxSlider({
onSlideBefore: function($el, old, new) {
var blockWidth = $el.eq(new).width();
$('.subscribe').css('width', blockWidth);
}
});
如果没有任何代码可供使用,我不能100%确定这一点,但它应该让您走上正确的轨道