Если заявление для Image SRC

Как я могу изменить это так, чтобы #animation src изменялся только в том случае, если его еще нет = suit.gif с помощью оператора if не может понять синтаксис.

<script type="text/javascript">
    $(function() {
      $("#nav").click(function() {
            $('html,body').animate({  
                scrollTop: $(document).scrollTop()+600
            }, 1000);
                $('#animation').attr('src','images/suit.gif');
      });
    });
</script>

3 ответа

Решение

Попробуй это:

$(function() {
  $("#nav").click(function() {

     $('html,body').animate({  
        scrollTop: $(document).scrollTop()+600
     }, 1000);

     if($('#animation').attr('src') != 'images/suit.gif'){
        $('#animation').attr('src','images/suit.gif');
     }
   });     
 });

Ты можешь использовать:

$("#nav").click(function () {
    $('html,body').animate({
        scrollTop: $(document).scrollTop() + 600
    }, 1000);
    var src = $('#animation').attr('src').split('/'),
        imgName = src[src.length - 1];
    if (imgName != "suit.gif") {
        $('#animation').attr('src', 'images/suit.gif');
    }
});

Вы можете проверить текущий источник изображения, посмотрев на атрибут src, например:

    var currentSource = $('#animation').attr('src');

Тогда вы можете проверить, что это такое. На вашем месте я бы использовал простой тест регулярных выражений, чтобы увидеть, заканчивается ли он suit.gif, вот так:

    var alreadySuit = /suit\.gif$/i.test(currentSource);

Ваш код будет выглядеть так:

<script type="text/javascript">
    $(function() {
      $("#nav").click(function() {
            $('html,body').animate({  
                scrollTop: $(document).scrollTop()+600
            }, 1000);
            var anim = $('#animation');
            if(!/suit\.gif$/i.test(anim.attr('src'))){
              $('#animation').attr('src','images/suit.gif');
            }
      });
    });
</script>
Другие вопросы по тегам