Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/11/2013, 07:45
headbanger1986
 
Fecha de Ingreso: noviembre-2012
Mensajes: 31
Antigüedad: 11 años, 5 meses
Puntos: 2
Exclamación Mostrar variable fuera de una funcion

Hola que tal, bien les cuento, tengo un código que detecta si dentro de un div, existen imágenes o videos desde youtube o vimeo, y luego de hacer todo el análisis muestra el resultado en una variable llamada multimedia.

El tema es que debo asignarle el valor de multimedia a otra variable que está fuera de la funcion.

Podría hacer todo sin una función, pero no resulta porque con la instrucción document.ready hago que el dom se cargue completo antes de hacer la búsqueda de los elementos, de lo contrario siempre me dice que multimedia está vacío, pero es ahí mi problema, al estar var multimedia dentro de la función, no logro externalizarla para asignarle su valor a otra variable que tengo.

Les dejo el código


Código:
	var j = jQuery.noConflict();
	var iframe = new Boolean;

	//detecta si la src del iframe contiene las palabras youtube o vimeo
	j(document).ready(function(){


		var vids = j('.col-ps iframe');
		var urlIframe = j('.col-ps iframe').attr('src');
		var regexxx = new RegExp("^.*"+ 'youtube|vimeo' +".*","gi");

		if ( (vids != null) && (vids.length) ) {

			if(urlIframe.match(regexxx)){

			  var iframe = true;
			}else{
				 var iframe = false;
			}

		  //else del primer if  
		}else{
			var iframe = false; 
		}


		var imgs = j('.col-ps img');


		if ((imgs != null && imgs.length) && (imgs.width() > 250) && (vids != null && vids.length) && (iframe == true) ){

			var multimedia = ('foto/video');

		}else if (imgs != null && imgs.length && (imgs.width() > 250) ) {

			 var multimedia = ('foto');


		} else if (vids != null && vids.length && iframe == true) {

			var multimedia = ('video');
		
		}else{
			var multimedia = ("sin multimedia");
		}
			
	});

Lo que necesito es tomar el valor de la var multimedia por ejemplo a la variable dato1, es decir dejar algo así en otro script.

Código:
var dato1 = multimedia;
alert(dato1);
Espero se entienda y puedan ayudarme, por más que busco y pruebo no logro encontrar la solución.

De antemano gracias, saludos.

Última edición por headbanger1986; 22/11/2013 a las 07:46 Razón: Faltó texto