Jquery/Javascript在CSS改变后只运行一次自定义函数
Jquery/Javascript only running a custom function once after CSS changes
我正在使用Jquery在基于web的电子表格应用程序中的单元格之间画线。我通过混合使用background-image、background-position和background-repeat来完成这个任务。整个系统工作得非常好,并且允许我在应用程序中的不同单元之间进行映射。
然而,我有一些问题与我的Jquery/Javascript代码。
function draw_line(start_row, start_col, finish_row, finish_col){
//Change CSS background properties
}
function loadData(){
for (i = 0; i < values; i++){
//Add element to spreadsheet - change CSS properties.
//Draw line between the two cells
draw_line(start_row, start_column, line, column);
}
}
loadData();
问题是,虽然for的循环应该对所有涉及的元素运行几次,但它实际上只运行一次。但是,如果我注释掉draw_line函数,for循环执行正确的次数,并且所有元素都被放置在电子表格中。
我也试过运行setTimeout,但没有帮助。有人经历过这种行为吗?(仅供参考,我正在运行JQuery v1.6.4,在FF上)
希望有人能帮忙。谢谢!
我不知道这是否真的导致了你的问题,但它是坏的和有风险的代码,所以你应该修复它。这一行代码:
for (i = 0; i < values; i++)
使用隐式声明的全局变量i
。如果您正在运行的任何其他代码也在这样做,那么i
的值将被破坏并破坏您的for
循环。
将这一行更改为以下内容,使i
成为一个局部变量,因此没有其他东西可以破坏它:
for (var i = 0; i < values; i++)
相关文章:
- 自定义函数中的光标位置
- Google Sheet自定义函数返回0
- 其中是自定义函数中的属性
- 创建自定义函数以在函数上运行完整的多选下拉列表
- Google Sheets自定义函数条件格式
- dalek回调或自定义函数
- UI网格:如何从自定义函数访问MODEL_COL_FIELD
- 节点 js 在启动时调用函数一次
- 评估作为参数传递给 Google 电子表格中自定义函数的条件
- 具有自定义函数调用的 HTML 表单
- 使用 jQuery 对动态创建的元素调用自定义函数
- Google 表格自定义函数的多个数组输入,可将一个数组除以另一个数组
- 我没有'我不想两次调用自定义函数
- 在谷歌文档中,当你将一堆单元格传递到一个自定义函数中时,你如何确定长度
- 是否有一种方法可以在调用对象的未定义函数时调用自定义函数?
- Jquery/Javascript在CSS改变后只运行一次自定义函数
- 如何仅在用户第一次滚动到某个元素时运行自定义函数
- 如何使用jQuery继续通过一组动画自定义函数完成后
- 我如何重置多个下拉下拉在jquery移动与自定义类一次
- 而Number原型扩展中的循环调用函数一次,然后出现未定义的错误