我上传了我的第一个网页http://www.gerenpro.net/(如果它不起作用http://www.gerenproca.com域名应该很快就会改变)。我在使用 .load() 和加载图像时遇到问题:
<div id=tab31>
<div class=centro >
<div align="justify" class=izq>
<ul id=menuobra>
<li class="menuobrali"onclick="ajaxObra('imgobra1')">Complejo Criogénico Antonio Jose de Sucre</li>
<li class="menuobrali"onclick="ajaxObra('imgobra2')">Construcción de la planta de concentración de mineral de hierro</li>
<li class="menuobrali"onclick="ajaxObra('imgobra3')">Construcción fundación de turbo generador planta termoeléctrica subestación termobarranca</li>
<li class="menuobrali"onclick="ajaxObra('imgobra4')">METOR - Proyecto de expansión de metanol</li>
<li class="menuobrali"onclick="ajaxObra('imgobra5')">Obras civiles de la planta de PROPPANTS</li>
<li class="menuobrali"onclick="ajaxObra('imgobra7')">Excavación, carga, acarreo y disposición de materia prima no conforme(operación minera)</li>
<li class="menuobrali"onclick="ajaxObra('imgobra8')">Excavación para los fosos norte-sur UNEFA y túnel de interconexión</li>
<li class="menuobrali"onclick="ajaxObra('imgobra9')">Desarrollo e integración de la Av. Lecuna y proyecto de ingeniería de detalle y construcción del sector teatros</li>
<li class="menuobrali"onclick="ajaxObra('imgobra10')">Movimiento de tierra, construcción de vialidad y desarrollo del urbanismo insdustrial de la Siderúrgica Nacional</li>
</ul>
</div>
<div class=der>
<div id=fotoobra > </div>
</div>
</div>
</div>
所以,在那个部分,我有一些 onclick 事件,他们称之为
function ajaxObra(id) {
ci=0;i=1;
$("#fotoobra").empty().html('<img src="img/bar.gif" />');
$("#fotoobra").load("galeria.html#"+id,function({$("#fotoobrali").css({opacity:0}).removeClass('show');
$("#fotoobra li:first-child").addClass('show').css({opacity: 1}).css({display:""});
clearInterval(timerGaleriaObra);
timerGaleriaObra = setInterval('animarGaleriaObra()',3000)});
}
function animarGaleriaObra(){
i=ci+1;
if(i>5) { i=1 }
$('ul.slideobra li:nth-child('+i+')').addClass('show').css({opacity:1}).css({display:""});
$('ul.slideobra li:nth-child('+ci+')').hide().css({opacity:0}).removeClass('show');
ci=i;
}
所以基本上它是一个用于显示图像的循环。但它并没有像我想象的那样工作,如果单击一个元素,不应该只调用 .load() 到我传递的 id 吗?当我单击一个时,它会调用所有的 .html,而不仅仅是传入加载函数的元素 id。因此,当单击其他 li 时,元素已经加载,因为加载调用仅在单击一个 li 时触发
我注意到的另一件事是图像在完全加载之前开始显示。我如何使用我好的 .load() 函数验证图像以完全加载,然后显示?
更新:我怎么知道外部 .html 的其他内容在我拨打电话之前已经加载?..因为当触发应该开始加载其他图像的事件时(“li”上的 onclick 事件)图像是已经满载了..他们都加载了一次点击触发