jQuery如果屏幕较小(移动)时条件不起作用

时间:2018-08-01 00:51:16

标签: jquery css mobile responsive

我有一个简单的jquery条件,它只是检查css值,如下所示

if ($('.classname').css("width") < '60%')  {

$.lightbox($'#popupbox'), {});
$('.classname').css({
  'width': '66%'
}

}

这是较大的javascript函数的一部分,简单易用,对吧?

当屏幕尺寸大于1029px时,它工作得很好

但是,少了些什么,似乎就无法“检测”该条件为真,并且不需要触发弹出窗口,并且每次执行该函数时都会反复弹出该弹出窗口。

我以为这是直接由屏幕尺寸引起的,但不应该这样,因为css值以%为单位,并且= 60%,与屏幕尺寸无关。

任何建议将不胜感激。

1 个答案:

答案 0 :(得分:-1)

.css()从文档中返回了«计算样式属性»

对于宽度,以像素为单位。那就是当前渲染的宽度。

如果要检查元素的宽度是否为另一个元素的60%(或更小),则必须进行数学计算。像这样:

var inner_element_width = $('.inner').css("width");
var outer_element_width = $('.outer').css("width");

if (inner_element_width <= (outer_element_width * 0.6))  {
  // Do something
}