2015-07-03 113 views
0

這是我的代碼jQuery的延遲處理錯誤

$(document).ready(function(){ 
function margin(){ 
    $('.logo').animate({ marginLeft : "150px"}, 1500).delay(4000).animate({ marginLeft : "350px"}, 1500, function() { 
     delay(4000).margin(); 
    }); 
} 
margin(); 
}); 

我想我的代碼無限循環,但它不工作。 Firebug的控制檯說:'未處理的錯誤:未定義的變量:延遲'(第四行)。我錯過了什麼?

回答

1

delay出現undefined?嘗試用$.fn.delay代替調用undefineddelay函數;利用.queue()調用margin遞歸

$(document).ready(function() { 
 
    function margin() { 
 
    $(".logo").animate({ 
 
     marginLeft: "150px" 
 
     }, 1500).delay(4000) 
 
     .animate({ 
 
     marginLeft: "350px" 
 
     }, 1500, function() { 
 
     $(this).delay(4000, "margin") 
 
      .queue("margin", margin).dequeue("margin"); 
 
     }); 
 
    } 
 
    margin(); 
 
});
.logo { 
 
    background: olive; 
 
    width: 50px; 
 
    height: 50px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> 
 
</script> 
 
<div class="logo">abc</div>

+0

感謝的人,它的工作吧! –