2013-08-17 3 views
0

может кто-то испытать с jquery и javascript, пожалуйста, объясните мне, почему этот код не работает?
, когда сменяется changeclass, изображение previmage должно расширяться, а затем уменьшаться, но, похоже, это тоже не так. Единственное, что работает, это предупреждение внизу.моя функция анимации jquery не работает даже при успешном вызове

любые идеи?

<script type="text/javascript"> 
function changeclass() 
{ 
    if ($("#previmage").css({"max-width" : "400px"}){ 
     $("#previmage").animate({"max-width": "100%"}, "fast"); 
     $("#previmage").addClass("clicked").removeClass("normal"); 
    }else{ 
     $("#previmage").animate({"max-width": "400px"}, "fast"); 
     $("#previmage").addClass("normal").removeClass("clicked");  
    } 
    alert("called");  
} 
$("#progressBar").hide(); 
</script> 

наилучшими пожеланиями jordanzhninja

+1

Что это условие предполагается сделать? Вы имели в виду 'if ($ (" # previmage "). Css (" max-width ") == 400)'? – Bergi

+0

он изменяет размер изображения при его нажатии, в основном делает его более крупным – user2166538

+0

Пожалуйста, добавьте свой код HTML, чтобы мы могли помочь вам – Shaun

ответ

3
if ($("#previmage").css({"max-width" : "400px"}) 

делает установить на max-width свойства и возвращает объект JQuery оболочку, которая всегда truthy. Вы должны использовать .css() method как добытчика и сравнить результат с ожидаемым значением:

if ($("#previmage").css("max-width") == 400) 

Однако я бы рекомендовал не основывать свою логику приложения на стили CSS. Используйте переменную для сохранения состояния или использования классов (которые могут быть протестированы с помощью hasClass), если вам нужно/нужно сохранить его в DOM.

0

ширина макс только позволяет максимальную ширину, которая разрешена для конкретного класса , если вы хотите, чтобы увеличить размер ширины использования изображения

if ($("#previmage").css({"width"}==400){ 
     $("#previmage").animate({width:"100%"}, "fast"); 
     $("#previmage").addClass("clicked").removeClass("normal"); 
     } 
else{ 
      $("#previmage").animate({width: 400}, "fast"); 
      $("#previmage").addClass("normal").removeClass("clicked"); 

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