带有两个值的jquery.css(“宽度”)

带有两个值的jquery.css(“宽度”),jquery,Jquery,如果div(.slider)的宽度在650px和521px之间,我希望有一个jquery函数运行。到目前为止,对于不起作用的代码,我还不确定如何编写大于小于部分: } else if ($(".slider").css("width") < "651px" || > "520px") { }else if($(“.slider”).css(“宽度”)“520px”){ 我在控制台中遇到此错误:未捕获的SyntaxError:意外令牌> *******更新******我现在正在使用

如果div(.slider)的宽度在650px和521px之间,我希望有一个jquery函数运行。到目前为止,对于不起作用的代码,我还不确定如何编写大于小于部分:

} else if ($(".slider").css("width") < "651px" || > "520px") {
}else if($(“.slider”).css(“宽度”)<“651px”| |>“520px”){
我在控制台中遇到此错误:未捕获的SyntaxError:意外令牌>

*******更新******我现在正在使用:

 var w = parseFloat($('.slider').css('width')) 

 if (w > 651) {
              //do something here
 } else if (w < 651 || w > 520) {
              //do something here
 } else if (w <= 520) {
             //do something here
 } else {
            //do something here
 } 
var w=parseFloat($('.slider').css('width'))
如果(w>651){
//在这里做点什么
}否则如果(w<651 | w>520){
//在这里做点什么

}否则,如果(w您需要将变量添加到每一侧

} else if ($(".slider").css("width") < "651px" || $(".slider").css("width") > "520px") {
}else if($(“.slider”).css(“宽度”)<“651px”|$(“.slider”).css(“宽度”)>“520px”){
正确的模式是: (另一个注意事项:使用多时间$(“.slider”)会降低性能)

var w=$(“.slider”).width();
/**这里有很多代码**/
否则如果(w<651 | w>520){
/** **/
jsiddle:

jQuery

$(function()
{
    var flexWidth = $('.flex').css('width').replace(/[^-\d\.]/g, '');
  if(flexWidth > 550 || flexWidth < 660)
  {
    alert("If statement is true");
  }
});
$(函数()
{
var flexWidth=$('.flex').css('width').replace(/[^-\d\.]/g');
如果(flexWidth>550 | | flexWidth<660)
{
警报(“如果声明为真”);
}
});
使用
jQuery.css
这将返回值,但是,因为它将返回
550px
这不能用于检查是否大于或小于,因为它是一个字符串。因此,您需要查找并将其转换为数字(删除px)。获得数值后,您就可以在if语句中正确使用它


将CSS属性转换为数字URL:

,但比较了两个字符串。考虑“540px”< 525600 px“返回false的情况。不是真的!jQuery WistHe()函数返回一个浮点而不是字符串变量,注释引用以前使用的版本<代码> css(宽度)。
This.很好,只是这里的flexWidth仍然是一个字符串。虽然js会在比较过程中转换它,
parseInt
parseFloat
可能会更好。
var flexWidth=parseFloat($('.flex').css('width'))
您不需要
if(w>“651”)
@Canvas抱歉,我的复制和粘贴坏了。我正在使用:if(w>651){//在这里做点什么}else if(w<651 | | w>520){//在这里做点什么}else if(w将您的
|
或语句更改为
&
和statementexpression错误?+无法将字符串作为数值(num+'px')进行比较!!我知道该表达式错误。“无法将字符串作为数值(num+'px')进行比较”是否有解决方案问题?它被卡住了,因为它总是小于651或大于520,所以elseif总是返回true。您需要&¬||
$(function()
{
    var flexWidth = $('.flex').css('width').replace(/[^-\d\.]/g, '');
  if(flexWidth > 550 || flexWidth < 660)
  {
    alert("If statement is true");
  }
});