GuuH.zin Postado Janeiro 31, 2011 Denunciar Share Postado Janeiro 31, 2011 Tenho uma dúvida quanto ao "for" do Javascript. No código abaixo, temos... for(var num_images = 0; num_images < document.images.length; num_images++) { if(document.images[num_images].rel!="image_src") { var elem=document.images[num_images]; var alt=$(elem).attr("lightbox:title"); var src=$(elem).attr("src"); var original_elem=new Image(); original_elem.src=elem.src; if(original_elem.width > 580){ $(elem).wrap('<div class="img-resized-warning-container"><a href="'+src+'" rel="lightbox" title="'+alt+'" target="_blank"/></div>'); } else{ if(elem.rel=="lightbox"){ $(elem).wrap('<a href="'+src+'" rel="lightbox" title="'+alt+'" target="_blank"/>'); } } } } ... essas linhas do código var original_elem=new Image(); original_elem.src=elem.src;criam uma nova imagem para cada elemento retornado pelo document.images[num_images] ou apenas para a primeira imagem? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GuuH.zin Postado Fevereiro 2, 2011 Autor Denunciar Share Postado Fevereiro 2, 2011 (editado) Ok, depois de algum tempo, percebi que dava pra fazer tudo com jQuery, com a função each().Pois bem, atualizei o código e ele ficou assim:$(document).ready(funciton(){ ... $("img").not("[rel='image_src']").each(function(n,element){ var elem_src = $(element).attr("src"); var elem_title; if($(element).attr("lightbox:title")==null || $(element).attr("lightbox:title")==""){elem_title="";}else{elem_title=$(element).attr("lightbox:title");} var original_elem = new Image(); original_elem.src = elem_src; if(original_elem.width > 580){ $(element).wrap('<div class="img-resized-warning-container"><a href="'+elem_src+'" rel="lightbox" target="_blank" title="'+elem_title+'"/></div>'); } else{ if($(element).attr("rel")=="lightbox"){ $(element).wrap('<a href="'+elem_src+'" rel="lightbox" target="_blank" title="'+elem_title+'"/>'); } } }); $("div.img-resized-warning-container").each(function(n,element){ $(element).append('<div class="alert-box">Essa imagem foi reduzida. Clique nela para visualizar o tamanho original.</div>'); }); ... }); Tudo funciona, exceto essa parte do código ... $("div.img-resized-warning-container").each(function(n,element){ $(element).append('<div class="alert-box">Essa imagem foi reduzida. Clique nela para visualizar o tamanho original.</div>'); }); ...O que acontece é que o script acima não adiciona o elemento informado todas as vezes que carrega a página.Tem vezes que ele mostra em todas as imagens maiores que 580px de largura (que seria o correto), tem vezes que ele mostra apenas em algumas imagens mariores que 580px e tem vezes que ele não mostra. O que tem de errado? (O script não tem erros, pois o Internet Explorer mostra apenas "Concluído").Agradeço pela ajuda Editado Fevereiro 2, 2011 por GuuH.zin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
GuuH.zin
Tenho uma dúvida quanto ao "for" do Javascript. No código abaixo, temos
essas linhas do códigocriam uma nova imagem para cada elemento retornado pelo document.images[num_images] ou apenas para a primeira imagem?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.