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