2014-03-04 49 views
0

我該如何改變這個#animation src只會改變,如果它尚未= suit.gif使用if語句不能找出語法。如果聲明的圖像src

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

爲什麼有額外的麻煩碼?將'image.src'更改爲已加載的相同URL不會執行任何操作。你真的想要解決什麼問題? – jfriend00

回答

0

試試這個:

$(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'); 
    } 
    });  
}); 
+0

perf此工作 – user3344534

+0

歡迎... plz接受爲答案 – Ani

+0

爲什麼要這些額外的代碼呢?將'image.src'更改爲已設置爲相同的URL。 – jfriend00

0

您可以使用:

$("#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'); 
    } 
}); 
0

您可以通過查看src屬性檢查圖像的電流源,就像這樣:

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

然後你可以檢查它是什麼。如果我是你,我會使用一個簡單的regex測試,看看它是否結束與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>