我正在检查一个对象是否在一个盒子的边界之外。如果它在盒子的边界之外,那么我把它放回去。
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
代码有点冗长。有没有更好的方法来写它?
答案 0 :(得分: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
置于函数内部,但它的可重用性会降低。