2013-07-11 90 views
0

我正在檢查的對象是否在框的邊界之外。如果它在盒子的邊界之外,那麼我把它放回去。更好的檢查邊界的方法

if position.left < dot_radius 
    dot.css 'left', dot_radius 
if position.left > display_width - dot_radius 
    dot.css 'left', display_width - dot_radius 
if position.top < dot_radius 
    dot.css 'top', dot_radius 
if position.top > display_height - dot_radius 
    dot.css 'top', display_height - dot_radius 

該代碼有點冗長。有沒有更好的方法來寫它?

回答

2

你可以做一個簡單的函數:

bounds = (prop, min, max) -> 
    val = position[prop]; 
    if (val < min) 
     dot.css prop, min 
    if (var > max) 
     dot.css prop, max 

bounds 'left', dot_radius, display_width - dot_radius 
bounds 'top', dot_radius, display_height - dot_radius 

你甚至可以把dot_radius裏面的功能,但它引入了可重複使用的少,然後。

+0

完美。關於如何解決它的好主意。 – Alexis