我有一个个人资料图像列表,它们出现在最初通过 CSS 隐藏的“菜单下拉”div 中。我想在选择每个菜单项时动态加载这些图像(作为列表),以减少页面加载时间。这怎么可能?
问问题
17064 次
4 回答
3
尝试使用:
$("#divID").html("<img style='position:absolute' src='path/to/the/ajax_loader.gif'>");
如果你使用 ajax:
function sendAjax()
{
$("#divID").html("<img style='position:absolute' src='path/to/the/ajax_loader.gif'>");
// you ajax code
$("#divID").html(ajaxResponse);
}
您也可以使用document.getElementById('divID').innerHTML
代替$("#divID").html()
. 它也可以正常工作
如果你使用这个方法,不需要使用css隐藏div。它在 ajax 响应后自动删除。
于 2012-10-25T04:48:33.257 回答
1
好吧,你可以试试这个:
<div id="desiredDiv">
</div>
<script>
var images = [
'http://www.example.com/img/image1.png',
'http://www.example.com/img/image2.png',
'http://www.example.com/img/image3.png',
...
];
for(var i=0; i<images.length; i++) {
$('#desiredDiv').append('<img src="'+images[i]+'" alt="" />');
}
</script>
于 2012-10-25T06:58:26.360 回答
0
在您的 HTML 中,省略每个图像标签上的 src 属性。相反,添加一个名为 data-src 的属性并为其提供图像 url。
然后,当显示菜单时,运行以下脚本:
$('.menu-class img').each(function() {
$(this).attr('src', $(this).data('src'));
});
如果您还没有,则所述脚本需要 jquery
于 2012-10-25T04:33:24.453 回答
0
您可以将图像列表保存在 JavaScript 变量中:
var images = [
'http://www.example.com/img/image1.png',
'http://www.example.com/img/image2.png',
'http://www.example.com/img/image3.png',
...
];
然后,您可以通过创建图像标签在需要时加载图像:
var i = 0; // the index of the image in the list
var $img = $( '<img>' ).attr({'src':images[i]});
只需将图像附加到您的 div,它就会被浏览器自动加载。
于 2012-10-25T04:50:40.960 回答