如何更新DIV的内容
How to update the content of a DIV
我正在开发一个显示图像的应用程序。当用户向下滚动时,它会更新div。我的方法有效,但它并没有真正更新div。它清除div并向其中添加新内容。那么,我该如何更新div呢?
目前我正在使用这行代码。当用户位于我的div 底部时,它将被调用
document.getElementById("myDiv").innerHTML = result + '<br /> <img src="/images/loading.gif" />';
在代码的顶部,我定义了结果。结果包含div的当前图片:
result = result + '<img src="' + data.data[i].images.normal + '" /><br /><hr />';
因此,我希望将"loading.gif"添加到div中。但正如您所看到的,它将完全重新制作div(它将重新加载div),这对于互联网连接缓慢的用户来说不是最佳选择。
谢谢!
它清除div并添加新内容。那么,我该如何更新div呢?
你的意思是你不想删除myDiv的内容并添加更多内容?
document.getElementById("myDiv").innerHTML += result + '<br /> <img src="/images/loading.gif" />';
如果您担心每次更新innerHTML
时将innerHTML解析回DOM的开销,请将HtmlImageElement
对象附加到div。
var myDiv = document.getElementById('myDiv');
myDiv.appendChild(imageObj);
这样,就不必解析和重新呈现现有的myDiv
内容。
var imgUrl = '/images/loading.gif';
var img = document.createElement('img');
img.src = imgUrl;
myDiv.appendChild(img);
createElement相对于innerHTML的优势?
您可以使用将基于innerHTML的方法转换为appendChild
result = result + '<img src="' + data.data[i].images.normal + '" /><br /><hr />';
var imgSrc = data.data[i].images.normal; //url of the image
var img = document.createElement('img');
img.src = imgSrc;
var br = document.createElement('br');
var hr = document.createElement('hr');
myDiv.appendChild(img);
myDiv.appendChild(br);
myDiv.appendChild(hr);
缓存div并附加到它。
var div = document.getElementById('myDiv');
div.innerHTML = div.innerHTML + result +'<br /> <img src="/images/loading.gif" />';
相关文章:
- 添加文字和评论功能更新Div
- 在Rails中更新Div,而不更改更新请求后的视图
- 根据CHECKBOX输入值动态更新DIV信息
- JavaScript on点击更新Div
- 获取Div Width,然后更新Scope Variable
- 循环对象时更新页面上的DIV元素
- 如果在DIV的底部,JQuery会更新
- 使用不同的API参数更新DIV内容
- 从一个正在运行的PHP代码中,了解如何更新DIV标记中的状态
- 使用2个表单的SQL查询更新DIV
- 如何在 DIV 中更新新图像
- DIV 自动更新不起作用
- Rails 在 JavaScript 调用后更新 DIV(从模型重新加载)
- 单击时更新 DIV 内容,而无需直接知道其 ID
- 可观测集合发生变化时更新Div
- 用AJAX更新的Div结果丢失更新
- Safari:绝对定位的DIV在通过DOM更新时不会移动
- 更新DIV的泛型函数
- 点击使用jQuery用HTML更新DIV
- ExtJS -不能在DIV更新后再次渲染窗口