Установка поля margin-left для определенного значения, если оно меньше 0

Я хочу установить CSS объекта margin-left свойство до 1000, если оно меньше 0, но оно не работает так, как я хочу.

Это код, который я использую:

$(".slide").each(function(a, b) {
  m=$(this).css("margin-Left");
  if (m <= "0px") {
    console.log($(this).css("margin-left"));
    $(this).css({"margin-left": width + "px"});
  }
});

2 ответа

Проблема здесь в том, что .css('margin-left') вернет вам строку. Измените свой код следующим образом:

$(".slide").each(function(a,b){
   m = parseInt($(this).css("margin-left"));
   if(m <= 0) {
      console.log($(this).css("margin-left"));
      $(this).css({"margin-left":width+"px"});
   }
});

Ты можешь использовать setInterval() изменить маржу слева больше, чем один раз:

setInterval(function(){
   $(".slide").each(function(a,b){
      m = parseInt($(this).css("margin-left"));
      if(m <= 0) {
         console.log($(this).css("margin-left"));
         $(this).css({"margin-left": "1000px"});
      }
   });
}, 500);
Другие вопросы по тегам