Foros del Web » Programando para Internet » Javascript »

que un Div deslizante no se cierre si hago clic en el?

Estas en el tema de que un Div deslizante no se cierre si hago clic en el? en el foro de Javascript en Foros del Web. Hola he encotrado un codigo para ocultar/desocultar un div. Aparece oculto y luego haciendo clic en un boton se oculta/desoculta Todo funciona bien, pero el ...
  #1 (permalink)  
Antiguo 19/12/2008, 05:57
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
que un Div deslizante no se cierre si hago clic en el?

Hola

he encotrado un codigo para ocultar/desocultar un div. Aparece oculto y luego haciendo clic en un boton se oculta/desoculta

Todo funciona bien, pero el problema es que si hago clic dentro de ese div vuelve a cerrarse. Yo necesitaria que solo se oculte si hago clic en el botón.

aquí se puede ver funcionando:
ejemplo

Se que el truco esta dentro de el script que lo dispara. Que es este:
Código:
var jkpanel={
	controltext: '',
	$mainpanel: null, contentdivheight: 0,

	openclose:function($, speed){
		this.$mainpanel.stop() //stop any animation
		if (this.$mainpanel.attr('openstate')=='closed')
			this.$mainpanel.animate({top: 0}, speed).attr({openstate: 'open'})
		else
			this.$mainpanel.animate({top: -this.contentdivheight+'px'}, speed).attr({openstate: 'closed'})
	},
	
	init:function(file, height, speed){
		jQuery(document).ready(function($){
			jkpanel.$mainpanel=$('<div id="dropdownpanel"><div class="contentdiv"></div><div class="control">'+jkpanel.controltext+'</div></div>').prependTo('body')
			var $contentdiv=jkpanel.$mainpanel.find('.contentdiv')
			var $controldiv=jkpanel.$mainpanel.find('.control').css({cursor: 'wait'})
			$contentdiv.load(file, '', function($){
					var heightattr=isNaN(parseInt(height))? 'auto' : parseInt(height)+'px'
					$contentdiv.css({height: heightattr})
					jkpanel.contentdivheight=parseInt($contentdiv.get(0).offsetHeight)
					jkpanel.$mainpanel.css({top:-jkpanel.contentdivheight+'px', visibility:'visible'}).attr('openstate', 'closed')
					$controldiv.css({cursor:'hand', cursor:'pointer'})
			})
			jkpanel.$mainpanel.click(function(){jkpanel.openclose($, speed)})		
		})
	}
}

//Initialize script: jkpanel.init('path_to_content_file', 'height of content DIV in px', animation_duration)
jkpanel.init('panel.php', '500px', 500)
alguna idea
gracias
saludos

edito porque este tema debería ir en Frameworks (porque usa jQuery)

Última edición por chefnelone; 19/12/2008 a las 06:01 Razón: tema en foro equivocado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:38.