如何通过jquery动态地应用css更改值?

时间:2016-02-09 18:57:22

标签: jquery css

我正在尝试根据用户的屏幕分辨率将宽度应用于'div'。为此我在jquery代码下面使用:

$(function() {
  var resolution = $(window).width();
  var new_width = resolution - 17;
  new_width = new_width + "px";
  $("#box").css("width", new_width);
});

我正在尝试动态更改宽度,但它不起作用。

如果我使用$("#box").css("width", "500px");静态赋值,它将生效并将宽度设置为500px但是如果我使用new_width而不是500px它不改变div的宽度 我该如何解决?

4 个答案:

答案 0 :(得分:1)

通过动态,你的意思是调整大小?然后你需要resize event

$(window).resize(function() {
    var resolution = $(window).width();
    var new_width = resolution - 17;
    $("#box").css("width", new_width + "px");
});

答案 1 :(得分:0)

默认情况下,div的宽度为100%,因为它是块元素。制作内联块并尝试做同样的事情。

答案 2 :(得分:0)

您可能希望确保设置宽度的代码与事件相关联。现在它似乎设置了页面加载的宽度,即窗口的宽度。

答案 3 :(得分:0)

这就是我遇到这个问题时所做的事情:

var Width = window.screen.availWidth; //最大化到屏幕宽度

这只是javascript。可能不是你想要的而不是使用$(window).width();