2014-02-08 4 views
0

Мое намерение состоит в том, чтобы увеличить ширину элемента на 10px при наведении курсора мыши и уменьшить его на 10px при наведении курсора мыши, что является шириной по умолчанию в css.Действительно ли это код jquery?

на основе других ответов на форуме, я думал, что я мог бы использовать:

$("#theelement").mouseenter(function() { 
    $(this).css({"width": $(this.width()+10}) 
    } 
$("#theelement").mousleave(function() { 
    $(this).css({"width": $(this.width()-10}) 
    } 

вещи не работают прямо сейчас, и я не уверен, если это преступник или нет. В простом javascript мы добавляем «px», который я знаю, но не уверен в этом. В любом случае я бы хотел изменить ширину элемента на лету, не зная его статической ширины.

+0

Вы проверяете консоль, прежде чем спросить? Я думал, должно быть четкое объяснение того, что является ошибкой вашего кода – Sean

+0

@ user3274901, проверить мой код –

ответ

0

Вы ошибка синтаксиса, вам не хватает ); на пару и $(this.width() потребности быть $(this).width()

$("#theelement").mouseenter(function() { 
    $(this).css({ 
     "width": $(this).width() + 10 
    }); 
}); //Here 
$("#theelement").mousleave(function() { 
    $(this).css({ 
     "width": $(this).width() - 10 
    }) 
}); //And Here 

В качестве примечания:

Вы можете просто использовать .hover()

$("#theelement").hover(function() { 
    $(this).css({ 
     "width": $(this).width() + 10 
    }); 
}, function() { 
    $(this).css({ 
     "width": $(this).width() - 10 
    }); 
}); 
+0

Является ли 'this.width()' действительным. И он не закрыл скобку '$ (' –

+0

@RajaprabhuAravindasamy, я заметил, что – Satpal

+0

Но до недавних обновлений вы этого не заметили, поэтому я просто указал на это. :) –

0

Нет, $(this.width() должно быть следующим: $(this).width(); и как предыдущий Отвечающий сказал, что вы имеете синтаксическую ошибку недостающую );

$("#theelement").mouseenter(function() { 
    $(this).css({"width": $(this).width()+10}) 
    }); 

$("#theelement").mousleave(function() { 
    $(this).css({"width": $(this).width()-10}) 
    }); 
0
$('#theelement').mouseenter(function() { 
    $(this).width(function (index, value) { 
     return value + 10; 
    }); 
}).mouseleave(function() { 
    $(this).width(function (index, value) { 
     return value - 10; 
    }); 
}); 

Это, безусловно, работает. Проверьте это!

1
Use this code: Simple and short!! 



$(function(){ 
    $("#theelement").hover(
     function(){ 
      $(this).css({"width": $(this).width()+10}); 
     }, 
     function(){ 
      $(this).css({"width": $(this).width()-10}); 
     } 
    );        
}); 
+0

спасибо за помощь. – user3274901

Смежные вопросы