Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/12/2008, 05:57
chefnelone
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 19 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