检查边界的更好方法
Better way to check bounds
我正在检查一个对象是否在框的边界之外。如果它在盒子的边界之外,那么我把它放回
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
代码有点冗长。有更好的写法吗?
您可以制作一个简单的函数:
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
放在函数中,尽管它的可重用性会降低。
相关文章:
- 有没有更好的动手、具体的方法来学习Javascript
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- 在JavaScript中拆分日期字符串的更好方法是什么
- 设置嵌套对象属性的更好方法
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- 将数组从javascript格式化为php的更好方法,反之亦然
- jquery:将动画绑定到滚动条位置的更好方法
- 有更好的方法吗?(递归解析HTML unicode实体)
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 编写if-else语句的更好方法
- 我能从“;输入“;事件是否有更好的方法来跟踪文本更改
- 有没有更好的方法可以测量从Ajax调用返回数据所需的总时间
- 有没有更好的方法将音频与视频同步(只需将其放在视频中即可)
- 调用影子原型方法的更简单/更好的方法
- 有没有更好的方法来编写这个Show/hide JQuery代码
- AngularJS:有没有比指定的方法更好的方法来实现这一点
- 哪种验证方法更好
- 哪一种定义变量的方法更好?为什么?