JSFiddle - React, Tailwind, and code Playground

HTML

<div class="wapper">
    
    <div class="floatdiv">
    <img src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSXzuEgwB8HIMizoJ6sHEljrefv99Me1qmrzqku8zFKsITSxYA1lA" alt="">
    
    </div>
    
</div>

CSS

.wapper {width:100%;height:100%;}
.floatdiv {top:100px;width:100px;height:100px;border:1px solid #ccc;position: absolute;}

JavaScript

/*浮動視覺效果測試*/


function loop (){    
   $(".floatdiv").animate({"top":"50px"},2000)
   .animate({"top":"100px"},2000);
   /* setTimeout(loop, 4000) */
   //研究:為何loop()就會有堆疊溢位的問題發生。
   setTimeout(loop(), 4000)
    
}
loop();

/*結論:
setTimeout第一個參數定義為函式定義,直接放入函式名稱才是正確的作法,
若函式定義參數後方加上括弧,會直接呼叫函式執行,可能導致無窮迴圈進而發生溢位錯誤*/