JavaScript - Pasar variables a javascript

 
Vista:

Pasar variables a javascript

Publicado por Francisco (1 intervención) el 22/04/2017 12:45:49
Buenos días,

Tengo el siguiente código js:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
$(document).ready(function()
{
	$.ajax(
	{
        	url: 'http://orueba.blogspot.com.es/feeds/posts/default?alt=json-in-script',
		type: 'get',
        	dataType: "jsonp",
        	success: function(data)
        	{
            		var posturl = "";
            		var htmlcode = '<ul>';
            		var newhtmlcode = '';
            		var tamano_imagen = 700;
            		var i = 0;
            		var count= 0;
			var fecha="";
            		while ((i < data.feed.entry.length) && (count<8))
            		{
	            		for (var j=0; j < data.feed.entry[i].link.length; j++)
	            		{
	                		if (data.feed.entry[i].link[j].rel == "alternate")
	                		{
	                    			posturl = data.feed.entry[i].link[j].href;
	                    			break;
	                		}
	            		}
 
	            		if("content" in data.feed.entry[i])
	            		{
	                		var postcontent = data.feed.entry[i].content.$t;
					if(typeof(data.feed.entry[i].media$thumbnail) != "undefined")
					{
	                			var miniatura = data.feed.entry[i].media$thumbnail.url;
						var miniatura = miniatura.replace('s72-c', 's'+ tamano_imagen);
					}
					else
					{
						var miniatura = "complementos/js/escudo.jpg";
					}
				}
				if("published" in data.feed.entry[i])
				{
					var date_published = data.feed.entry[i].published.$t;
					var fecha = date_published.split('T');
					var yyyy_mm_dd = fecha[0].split('-');
 
					var year = yyyy_mm_dd[0];
					var month = yyyy_mm_dd[1];
					var day = yyyy_mm_dd[2];
 
					switch (month)
					{
 
						case "01":
							mes="Enero";
							break;
						case "02":
							mes="Febrero";
							break;
						case "03":
							mes="Marzo";
							break;
						case "04":
							mes="Abril";
							break;
						case "05":
							mes="Mayo";
							break;
						case "06":
							mes="Junio";
							break;
						case "07":
							mes="Julio";
							break;
						case "08":
							mes="Agosto";
							break;
						case "09":
							mes="Septiembre";
							break;
						case "10":
							mes="Octubre";
							break;
						case "11":
							mes="Noviembre";
							break;
						case "12":
							var mes="Diciembre";
							break;
					}
 
					fecha = day + " de " + mes + " de " + year;
		  		}
	            		else if("summary" in data.feed.entry[i])
	            		{
	                		var postcontent = data.feed.entry[i].summary.$t;
	            		}
	            		else
	            		{
	                		var postcontent = "";
	            		}
	            		var re = /<\S[^>]*>/g;
	            		postcontent = postcontent.replace(re,"");
		    		var posttitle = data.feed.entry[i].title.$t;
	            		//reduce postcontent to 300 characters
	            		if(postcontent.length > 300)
	            		{
	                		postcontent = postcontent.substring(0,300);
					postcontent = postcontent+' ...';
	            		}
 
		    		htmlcode += '</ul>';
 
				newhtmlcode += 	"<div class='cuadro_noticia'>" +
							"<div class='foto_noticia'><img src='"+miniatura+"'></div>" +
							"<div class='titular'><h1><a target='_blank' href='"+posturl+"'>"+posttitle+"</a></h1></div>"+
							"<div class='fecha'>"+fecha+"</div>" +
							"<div class='contenido_noticia'><span>"+postcontent+"</span></div>"+
							"<div class='leer_mas'><a target='_blank' class='icono_leer_mas' href='"+posturl+"'>>>Leer más</a></div>"+
						"</div>";
 
				i++;
				count++;
			}
			$('.noticias_blog').append(newhtmlcode);
        	}
    	});
});

Lo que hace es que cuando en el html hay una <div class=noticias_blog> ejecuta un script y carga 8 noticias de un blog. Esto me está generando problemas con masonry. Para solventarlas lo que quiero hacer es quitar el bucle while del js y quiero llamar a cada noticia una a una. Me explico mejor:

En mi html ahora mismo hay esto:

<div class="noticias_blog"></div>

y con este trozo de código consigo que todas las noticias se vean, ahora lo que quiero es lo siguiente:

<div class="noticias">
<div class=noticia 1></div>
<div class=noticia 2></div>
<div class=noticia 3></div>
....
</div>

al llegar a noticia 1 quiero que se ejecute el js y muestre la noticia 1, lo mismo con todas. Es decir, en el js quitaríamos el

while ((i < data.feed.entry.length) && (count<8))

y simplemente invocaríamos a js indicando que i=0, 1, 2...

No se si me entienden, porque creo que me he explicado fatal.

Espero que puedan ayudarme,
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder