8

在 Bootstrap 3 中,有 4 个状态;超小型设备、小型设备、中型设备和大型设备。我如何知道网站当前处于 jQuery 的哪个状态?这样我就可以在超小型设备中进行一些处理,然后运行此功能。

谢谢。

4

4 回答 4

12

我为引导程序 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]
        }
    };
}
于 2013-10-19T05:48:13.050 回答
12

遵循@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 "";
}
于 2014-07-22T10:15:39.143 回答
6

我必须为中等大小做一些类似的事情。

超小媒体查询最大480px;

所以你可以这样说:

if($(document).width > 480)
{

  //Do Something
}
于 2013-10-19T05:27:44.983 回答
0

引导程序 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
}
于 2018-06-05T15:32:22.003 回答