Foros del Web » Programando para Internet » Javascript »

Evitar nueva ventana

Estas en el tema de Evitar nueva ventana en el foro de Javascript en Foros del Web. Hola, tengo un script "Image Menu" de carrusel, el problema viene cuando hacen click, que se abre en una nueva ventana, y quisiera que siguiera ...
  #1 (permalink)  
Antiguo 03/09/2010, 03:35
Avatar de siken  
Fecha de Ingreso: octubre-2008
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 1
Evitar nueva ventana

Hola, tengo un script "Image Menu" de carrusel, el problema viene cuando hacen click, que se abre en una nueva ventana, y quisiera que siguiera en el mismo.

El comando es este:
Código:
		<script type="text/javascript">
			
			window.addEvent('domready', function(){
				var myMenu = new ImageMenu($$('#imageMenu a'),{openWidth:300, border:2, onOpen:function(e,i){open
(e);}});
			});
		</script>
Que tengo que cambiar para que se ejecute en la misma ventana?
  #2 (permalink)  
Antiguo 03/09/2010, 03:56
Avatar de siken  
Fecha de Ingreso: octubre-2008
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Evitar nueva ventana

dejo el codigo javascript completo, porque creo que el problema esta en la funcion click, porfavor me urge :(


/************************************************** ************

Script : Image Menu
Version : 2.2
Authors : Samuel Birch
Desc :
Licence : Open Source MIT Licence

************************************************** ************/

var ImageMenu = new Class({

getOptions: function(){
return {
onOpen: false,
onClose: Class.empty,
openWidth: 200,
transition: Fx.Transitions.quadOut,
duration: 400,
open: null,
border: 0
};
},

initialize: function(elements, options){
this.setOptions(this.getOptions(), options);

this.elements = $$(elements);

this.widths = {};
this.widths.closed = this.elements[0].getStyle('width').toInt();
this.widths.openSelected = this.options.openWidth;
this.widths.openOthers = Math.round(((this.widths.closed*this.elements.leng th) - (this.widths.openSelected+this.options.border)) / (this.elements.length-1))


this.fx = new Fx.Elements(this.elements, {wait: false, duration: this.options.duration, transition: this.options.transition});

this.elements.each(function(el,i){
el.addEvent('mouseenter', function(e){
new Event(e).stop();
this.reset(i);

}.bind(this));

el.addEvent('mouseleave', function(e){
new Event(e).stop();
this.reset(this.options.open);

}.bind(this));

var obj = this;

el.addEvent('click', function(e){

if(obj.options.onOpen){
new Event(e).stop();
if(obj.options.open == i){
obj.options.open = null;
obj.options.onClose(this.href, i);
}else{
obj.options.open = i;
obj.options.onOpen(this.href, i);
}


}

})

}.bind(this));

if(this.options.open){
if($type(this.options.open) == 'number'){
this.reset(this.options.open);
}else{
this.elements.each(function(el,i){
if(el.id == this.options.open){
this.reset(i);
}
},this);
}
}

},

reset: function(num){
if($type(num) == 'number'){
var width = this.widths.openOthers;
if(num+1 == this.elements.length){
width += this.options.border;
}
}else{
var width = this.widths.closed;
}

var obj = {};
this.elements.each(function(el,i){
var w = width;
if(i == this.elements.length-1){
w = width+5
}
obj[i] = {'width': w};
}.bind(this));

if($type(num) == 'number'){
obj[num] = {'width': this.widths.openSelected};
}

this.fx.start(obj);
}

});

ImageMenu.implement(new Options);
ImageMenu.implement(new Events);


/************************************************** ***********/

Etiquetas: ventanas
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 16:15.