2013-07-12 48 views
-1

我想要一个图像与class="thumb"得到width:100%如果其宽度大于400像素如果声明jQuery来设置宽度

我想这一个,但没有工作

if ($(".thumb").width() > '400px') 
{ 
    $(".thumb").css{("width","100%")} 
} 
+0

'.WIDTH()'将返回数值不'px'用吧:)见[API](HTTP ://api.jquery.com/width/),为了清楚理解'.width()'和css({'width':'..'})之间的区别'' –

回答

1

width()返回一个数字。试试:

if ($(".thumb").width() > 400) 
{ 
    $(".thumb").css("width","100%") 
} 

改为。作为基于JavaScript的解决方案的替代方案,如果您在此尝试使用响应式设计技术,则还可以在CSS中使用媒体查询;他们将让你自动设置宽度为100%时,页面宽度低于一定值,例如:

@media all and (min-width: 600px) { 
    .thumb { 
    width: 400px; 
    } 
} 

(注意,这个假设.thumb周围有其他HTML元素,所以这仅当页面本身达到600像素宽度时才需要触发。)

+0

感谢您提供额外的建议。 –

1

您正在与字符串进行比较。你应该因为.width()返回数

与多家它比较

尝试

if ($(".thumb").width() > 400) 

编辑:

只注意到,有以下行的错误

$(".thumb").css{("width","100%")} 

大括号使用不正确。删除它们。使用下面的代码

$(".thumb").css("width", "100%"); 
+0

虽然不工作 –

+0

@ user2417528更新了我的答案。看看 –

0

你必须设置>标志,而不是<还需要从比较中删除 “PX”,因为.WIDTH()的返回数

if ($(".thumb").width() > 400) 
{ 
    $(".thumb").css{("width","100%")} 
} 
0

尝试<'400'。删除'px'

0

尝试没有{}你不需要这2个字符。

1

好没有人知道它到目前为止?嘿嘿

你必须

  • 扭转<到>

  • 从CSS

  • 去掉括号加上分号

  • ,也给一个数值你的比较

所以它是这样的:

if ($(".thumb").width() > 400) 
{ 
    $(".thumb").css("width","100%"); 
} 
+0

感谢队友,它的工作 –

+0

@ user2417528无后顾之忧;) –