在 Bootstrap 3 中,有 4 个状态;超小型设备、小型设备、中型设备和大型设备。我如何知道网站当前处于 jQuery 的哪个状态?这样我就可以在超小型设备中进行一些处理,然后运行此功能。
谢谢。
在 Bootstrap 3 中,有 4 个状态;超小型设备、小型设备、中型设备和大型设备。我如何知道网站当前处于 jQuery 的哪个状态?这样我就可以在超小型设备中进行一些处理,然后运行此功能。
谢谢。
我为引导程序 3对此进行了一些更改,试试这个”
function findBootstrapEnvironment() {
var envs = ["ExtraSmall", "Small", "Medium", "Large"];
var envValues = ["xs", "sm", "md", "lg"];
var $el = $('<div>');
$el.appendTo($('body'));
for (var i = envValues.length - 1; i >= 0; i--) {
var envVal = envValues[i];
$el.addClass('hidden-'+envVal);
if ($el.is(':hidden')) {
$el.remove();
return envs[i]
}
};
}
遵循@Khurshid 的回答(效果很好),我编写了一个本机 JavaScript 实现,它的速度明显更快:
function findBootstrapEnvironment() {
var envs = ["xs", "sm", "md", "lg"],
doc = window.document,
temp = doc.createElement("div");
doc.body.appendChild(temp);
for (var i = envs.length - 1; i >= 0; i--) {
var env = envs[i];
temp.className = "hidden-" + env;
if (temp.offsetParent === null) {
doc.body.removeChild(temp);
return env;
}
}
return "";
}
我必须为中等大小做一些类似的事情。
超小媒体查询最大480px;
所以你可以这样说:
if($(document).width > 480)
{
//Do Something
}
引导程序 4 版本:
function findBootstrapEnvironment() {
var envs = ["sm", "md", "lg", "xl"];
var env = "";
var $el = $("<div>");
$el.appendTo($("body"));
$el.addClass("d-block");
for (var i = envs.length - 1; i >= 0; i--) {
env = envs[i];
$el.addClass("d-" + env + "-none");
if ($el.is(":hidden")) {
$el.remove();
return env;
}
}
$el.remove();
return "xs"; //extra small
}