条件宽度和preventDefault

时间:2014-02-12 14:55:44

标签: jquery width conditional

我有div,它默认生成一些东西,如果它有特定的宽度,则生成其他东西。 我想我有条件的问题。我该怎么说:“如果你有150px的宽度做某事但不做任何其他事情”我的代码出了什么问题?

以下是播放Fiddle

的示例

JQUERY:

   $(function(){
        $('#menu').click(function(event) {
        if ('#menu'.width() === 150){
        event.preventDefault();
            alert("something");         
        }
        }); 

        $("#menu").click(function() {
        $("this").animate({right: 0}, 500);
        });     
    })

CSS:

#menu {
    position:absolute;
    top:50px; right:50px;
    width:150px; height:108px;
    background:blue;
    cursor:pointer;
}

HTML:

<div id="menu"> </div>

2 个答案:

答案 0 :(得分:0)

我对您的语法进行了更改 - http://jsfiddle.net/w25mQ/4/

if( $('#menu').width === 150 )....

$(this).animate....

评论者是对的,你应该结合点击处理程序,如下所示 - http://jsfiddle.net/w25mQ/5/

答案 1 :(得分:0)

你的代码中有很多滥用jQuery的东西:

$(function(){
    $('#menu').on('click', function(event) {
        if ($(this).width() === 150){
            event.preventDefault();
            alert("something");         
        }
    }); 

    $("#menu").on('click', function() {
        $(this).animate({right: 0}, 500);
    });
})

以下是您更正后的代码以及使用它的示例jsfiddle