idclev31
@idclev31
Местный дурачек

Что не так с this.style.height и this.style.width?

Никак не могу понять следующее:
Имеется style.css с содержанием
.image{
  height:100px;
  width:70px;
  }

и код javascript
for(var i=0;i<images.length;i++){
    images[i].onclick = function(){
      if(this.style.height < '100px' && this.style.width < '70px'){
        this.style.height = '50px';
        this.style.width = '30px';
        alert('ok');
      }
    }
  }

Собственно,вопрос в следующем,почему данный код на изменение размера срабатывает только если использовать оператор <,если же я использую == или ===,то код не работает,несмотря на то,что в css я задаю значения соответствующие тому,с чем я сравниваю.
Спасибо.
___________________________________________________
Я понял в чем проблема,но не очень понимаю почему все так.
Если поместить перед сравнением
console.log(this.style.height);
Он вернет ничего,что значит,что там нет значения.
Но в то же время я явно задал его через css файл,почему же его там нет?
  • Вопрос задан
  • 1536 просмотров
Решения вопроса 1
@Marevin
Потому-что это строки, вот так должно работать:
if(parseInt(this.style.height) == 100 && parseInt(this.style.width) == 70);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Finom
@Finom
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы