- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在制作一个简单的图像延迟加载机制。我从要处理的图像数组开始,当我加载每个图像时,我想从数组中删除所述图像。
我的代码如下:
const removeFromArray = (id) => {
const position = images.indexOf(id);
if (id.classList.contains(classes.loaded)) {
images.splice(id, 1);
}
}
const setHeight = (img, target) => {
const parentWidth = img.parentNode.offsetWidth;
const initw = target.width;
const inith = target.height;
return (parentWidth / initw) * inith;
}
const loadImage = (img) => {
const image = new Image();
img.classList.add(classes.loading);
image.src = img.getAttribute('data-lazy-img');
image.onload = function(e) {
const target = e.target || e.srcElement;
img.style.height = `${setHeight(img, target)}px`;
img.classList.add(classes.loaded);
img.classList.remove(classes.loading);
img.src = img.getAttribute('data-lazy-img');
removeFromArray(img);
}
}
问题是,有时错误的图像会被删除(特别是当我删除后面的图像时)。
我的整个代码在这里:http://codepen.io/tomekbuszewski/pen/LbRQxq?editors=0011
我能做什么?
最佳答案
使用图像 id 作为参数调用 splice
似乎没有任何意义:
images.splice(id, 1);
您可能打算这样做:
images.splice(position, 1);
关于javascript - 数组中的元素被过早删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40638038/
我的测试代码: int SIZE = 1900; int[][] array = new int[SIZE][]; for (int i = 0; i < SIZE; i++) { array[i
我有一堆 WAV 文件和一个将它们复制到另一个目录的脚本,但使用 SoX 处理了一些文件。输出的文件都应该有 1 个 channel ,采样率不超过 44.1khz。我的大多数文件要么有一个以上的 c
我正在运行一个相当占用内存的 Python 脚本,但似乎我的机器正在提前终止进程。我安装了 16GB(并通过 lshw -class memory 确认),但我的进程似乎在使用量达到 4GB 左右时被
我很难确定在使用 .NET 的 HttpWebRequest 类调用远程服务器(特别是 REST Web 服务)时是否有办法处理潜在的连接问题。根据我的调查,WebClient 类的行为是相同的,这在
所以我有这个网址: http://test.com/afolder/who-else-wants-to-make-horror-movies%3f/ 这是 URL 编码版本: http://test.
我是一名优秀的程序员,十分优秀!