我的页面左侧有一个粘性图像边栏,右侧有不同高度的选项卡内容。我遇到的问题是,当选择了较短的标签时,粘性侧边栏会溢出它的容器。
单击选项卡2并向下滚动页面可以观察到此行为。左侧的图像不应溢出到页脚。选项卡1显示正确的行为。
以下是代码示例:http://codepen.io/anon/pen/gayMjx
<section class="js-pin-container">
<div class="row">
<div class="left-col">
<div class="js-pin-content">
<img src="http://placehold.it/250x250">
</div>
</div>
<div class="right-col">
<div id="tabs">
<ul>
<li><a href="#tabs-1">tab 1</a></li>
<li><a href="#tabs-2">tab 2</a></li>
<li><a href="#tabs-3">tab 3</a></li>
</ul>
<div id="tabs-1">
<p style="background: silver; height: 900px;">This dive is 900px tall.</p>
</div>
<div id="tabs-2">
<p style="background: silver; height: 600px;">This dive is 600px tall.</p>
</div>
<div id="tabs-3">
<p style="background: silver; height: 1200px;">This dive is 1200px tall.</p>
</div>
</div>
</div>
</div>
答案 0 :(得分:1)
关注@piyin后,我建议不要每次都提出recalculateLimits
事件。
原因是在现实世界中,您可能有多个附加到此事件的函数,并且您希望避免在每个制表符开关上调用所有这些函数。
重新计算高度的更好方法是公开插件方法activate
并将其附加到 ...
$window.resize(function () { recalculateLimits(); });
recalculateLimits();
//This line expose the method
this.recalculateLimits = recalculateLimits;
$window.load(update);
return this;
};
})(jQuery);
事件:
工作示例:JSnippet Demo
公开方法:
$(function() {
//Attach pin:
var pinSide = $(".js-pin-content").pin({
containerSelector: ".js-pin-container"
});
//Create tabs:
$( "#tabs" ).tabs({
activate:function(){
pinSide.recalculateLimits();
}
});
然后你只能附上它:
{{1}}
});