2013-04-21 150 views
0

我想调整使用jquery点击事件的div的宽度,我似乎无法弄清楚确切的语法是什么。jquery部分隐藏div

下面是我到目前为止尝试的一个例子。

$(function() { 
    $("#square").on("click", function(){ 
     if($(this).css("width", "50")){ 
      $(this).animate({width:"500"}, 1000); 
     } else { 
      $(this).animate({width:"50"}, 1000); 
     } 
    }); 
}); 

http://jsfiddle.net/4GGP8/

在此先感谢。

+2

你忘了,包括你的jsfiddle jQuery库,http://jsfiddle.net/Xotic750/4GGP8/2/ – Xotic750 2013-04-21 12:48:09

回答

2

在你的if语句尝试$(this).width() == 50代替,因为首先css();功能获取单元以及和第二的是你不是在做这样的if语句比较,如果有的话,你应该做$(this).css('width') == "50px"检索宽度并进行比较。

对于未来的参考,你可以随时使用parseInt();摆脱由CSS 添加单元的这样算下来,也是有效

if(parseInt($(this).css('width')) == "50") 

代码:

$(function() { 
    $("#square").on("click", function(){ 
     if($(this).width() == 50){ 
      $(this).animate({width:"500"}, 1000); 
     } else { 
      $(this).animate({width:"50"}, 1000); 
     } 
    }); 
}); 

这里由此产生的fiddle

0

试试这个 -

jsFiddle

$("#square").on("click", function(){ 
     if($(this).css('width') == '50px'){ 
      $(this).animate({width:"500"}, 1000); 
     } else { 
      $(this).animate({width:"50"}, 1000); 
     } 
    }); 
+0

你在我的代码搜索这行 - if($(this).css('width')=='50px'){' – 2013-04-21 12:54:15

+0

OP原始语法不正确 – charlietfl 2013-04-21 12:55:35