大型数据均衡器仅适用于 Zurb Foundation 5?
data-equalizer on large only with Zurb Foundation 5?
有谁知道如何以及是否可以将数据均衡器限制在较大或以上?我有 3 个列在大视图中使用它,但在中视图和低视图中并不真正需要它。
根据这个 issue,这还不容易实现。
但是,以下可能对您有用。此示例假设您正在使用 Foundation 5 附带的默认媒体查询断点。基本上此示例所做的是查看 window 大小,并根据大小设置数据均衡器属性。
<div class="row equal" data-equalizer>
<div class="medium-6 columns panel equal-watch" data-equalizer-watch>
<h1>hello</h1>
<p>(lots of text, presumably)</p>
<p>(lots of text, presumably)</p>
</div>
<div class="medium-6 columns panel equal-watch" data-equalizer-watch>hi</div>
</div>
javascript:
function setEqualizer() {
// get the width in ems.
var widthEms = $(window).width() / parseFloat($('html').css('font-size'));
if (widthEms < 64.063) {
$('.equal').removeAttr('data-equalizer');
$('.equal-watch').removeAttr('data-equalizer-watch');
} else {
$('.equal').attr('data-equalizer', '');
$('.equal-watch').attr('data-equalizer-watch', '');
}
$(document).foundation('equalizer', 'reflow');
}
// set Equalizer upon load
setEqualizer();
我无法使用 window 调整大小检测器完成这项工作,但它在页面加载时确实有效。尝试在此 fiddle 中重新调整输出窗格的大小并重新 运行 它。
希望这可以帮助您开始使用更好的解决方案。
将此 data-equalizer-mq="large-up"
添加到您的均衡器 div 中。要了解更多信息,请阅读此 link 响应式均衡器主题
感谢@chad,
$(window).on('load resize', function () {
var minWidth = 640;
var viewport = {
width: $(window).width(),
height: $(window).height()
};
if (viewport.width > minWidth && !$("#cre-ratesBox section").attr("data-equalizer")) {
$("#cre-ratesBox section").attr("data-equalizer", "cre");
$("#rateBox").attr("data-equalizer-watch", "cre");
$("#cre-from").attr("data-equalizer-watch", "cre");
} else if (viewport.width < minWidth && $("#cre-ratesBox section").attr("data-equalizer")) {
$("#cre-ratesBox section").removeAttr("data-equalizer", "cre").height('auto');
$("#rateBox").removeAttr("data-equalizer-watch", "cre").height('auto');
$("#cre-from").removeAttr("data-equalizer-watch", "cre").height('auto');
}
$(document).foundation('equalizer', 'reflow');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
有谁知道如何以及是否可以将数据均衡器限制在较大或以上?我有 3 个列在大视图中使用它,但在中视图和低视图中并不真正需要它。
根据这个 issue,这还不容易实现。
但是,以下可能对您有用。此示例假设您正在使用 Foundation 5 附带的默认媒体查询断点。基本上此示例所做的是查看 window 大小,并根据大小设置数据均衡器属性。
<div class="row equal" data-equalizer>
<div class="medium-6 columns panel equal-watch" data-equalizer-watch>
<h1>hello</h1>
<p>(lots of text, presumably)</p>
<p>(lots of text, presumably)</p>
</div>
<div class="medium-6 columns panel equal-watch" data-equalizer-watch>hi</div>
</div>
javascript:
function setEqualizer() {
// get the width in ems.
var widthEms = $(window).width() / parseFloat($('html').css('font-size'));
if (widthEms < 64.063) {
$('.equal').removeAttr('data-equalizer');
$('.equal-watch').removeAttr('data-equalizer-watch');
} else {
$('.equal').attr('data-equalizer', '');
$('.equal-watch').attr('data-equalizer-watch', '');
}
$(document).foundation('equalizer', 'reflow');
}
// set Equalizer upon load
setEqualizer();
我无法使用 window 调整大小检测器完成这项工作,但它在页面加载时确实有效。尝试在此 fiddle 中重新调整输出窗格的大小并重新 运行 它。
希望这可以帮助您开始使用更好的解决方案。
将此 data-equalizer-mq="large-up"
添加到您的均衡器 div 中。要了解更多信息,请阅读此 link 响应式均衡器主题
感谢@chad,
$(window).on('load resize', function () {
var minWidth = 640;
var viewport = {
width: $(window).width(),
height: $(window).height()
};
if (viewport.width > minWidth && !$("#cre-ratesBox section").attr("data-equalizer")) {
$("#cre-ratesBox section").attr("data-equalizer", "cre");
$("#rateBox").attr("data-equalizer-watch", "cre");
$("#cre-from").attr("data-equalizer-watch", "cre");
} else if (viewport.width < minWidth && $("#cre-ratesBox section").attr("data-equalizer")) {
$("#cre-ratesBox section").removeAttr("data-equalizer", "cre").height('auto');
$("#rateBox").removeAttr("data-equalizer-watch", "cre").height('auto');
$("#cre-from").removeAttr("data-equalizer-watch", "cre").height('auto');
}
$(document).foundation('equalizer', 'reflow');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>