调整窗口大小时删除特定类

时间:2016-09-29 10:33:45

标签: javascript jquery html

我正在尝试在调整Web浏览器大小时从div中删除一个类。例如,在移动设备上。

我试图影响的一行是

LinearLayout.LayoutParams

我正在尝试删除dialog = new AlertDialog.Builder(context, R.style.DialogTheme); TextView title = new TextView(context); title.setTextColor(ContextCompat.getColor(context, R.color.black)); title.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20); title.setTypeface(Typeface.DEFAULT_BOLD); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); lp.setMargins(0, 20, 0, 0); title.setLayoutParams(lp); title.setText("Dialog"); title.setGravity(Gravity.CENTER); dialog.setCustomTitle(title); dialog.setMessage("Dialog box with custom title view "); dialog.setCancelable(false); dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); dialog.show(); 类。我目前试过这个:

<div class="tab-pane active" id="visitors">

这似乎不起作用?

2 个答案:

答案 0 :(得分:7)

删除事件名称之间的逗号(,) - 它们应仅用空格分隔。

另请注意,不需要使用addClass(''),您的函数名称是冗余的,因为它是一个匿名函数,您可以使用toggleClass()来简化逻辑并使类自动添加/如果窗口多次调整大小,则删除。试试这个:

$(window).on('load resize', function() {
    $(".tab-pane").toggleClass("active", $(window).width() >= 600);
});

Working example

调整上面示例中的右下方窗格以查看代码是否正常工作。

答案 1 :(得分:2)

我认为这是正确的检查

$(window).on('load resize', function() {
    var viewportWidth = $(window).width();
    if (viewportWidth < 600) {
        $(".tab-pane").removeClass("active");
    } else {
        $(".tab-pane").addClass("active");
    }
});
.active { color: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="tab-pane active">a</div>
<div class="tab-pane active">a</div>
<div class="tab-pane active">a</div>
<div class="tab-pane active">a</div>
<div class="tab-pane active">a</div>

运行它并在另一个窗口上调整它