Español
<html> <head> <title>Listado 35.13. Una transición de borrado para la diapositiva entrante</title> <script language="JavaScript" type="text/javascript"> // Esta matriz contiene todos los objetos compatibles con DHTML del documento var dhtml_objects = new Array() // Esta función crea los objetos personalizados que sirven como interfaz de usuario entre navegadores function create_object_array() { // Todas las etiquetas <div> y <span> se almacenan en estas variables var div_tags var span_tags var css_tags // ¿El navegador es compatible con W3C DOM? if (document.getElementById) { // Si es así, use getElementsByTagName() para obtener las etiquetas <div> div_tags = document.getElementsByTagName("div") // Recorra las etiquetas <div> para (var contador = 0; contador < div_tags.length; counter++) { // Almacena el objeto actual current_object = div_tags[counter] // Almacena cómo el navegador accede a los estilos object_css = current_object.style // Almacena la identificación del objeto object_id = current_object.id // Solo almacena esas etiquetas que tienen una identificación if (object_id) { // crea un nuevo dhtml_object y lo almacena en dhtml_objects dhtml_objects[object_id] = new dhtml_object(current_object, object_css, object_id) } } // Usa getElementsByTagName() para obtener las etiquetas <span> span_tags = document.getElementsByTagName("span") // Recorre las etiquetas <span> for (var contador = 0; contador < span_tags.length; contador++) { // Almacena el objeto actual current_object = span_tags[counter] // Almacena cómo el navegador accede a los estilos object_css = current_object.style // Almacena el id del objeto object_id = current_object.id // Solo almacena aquellas etiquetas que tienen un id if (object_id) { // crea un nuevo dhtml_object y guárdalo en dhtml_objects dhtml_objects[object_id] = new dhtml_object(current_object, object_css, object_id) } } } // ¿El navegador es compatible con DHTML DOM? else if (document.all) { // Si es así, use document.all para obtener las etiquetas <div> div_tags = document.all.tags("div") // Recorra las etiquetas <div> para (var counter = 0; contador < div_tags.length; contador++) { // Almacena el objeto actual current_object = div_tags[counter] // Almacena cómo el navegador accede a los estilos object_css = current_object.style // Almacena la identificación del objeto object_id = current_object.id // Solo almacena aquellas etiquetas que tienen una identificación if (object_id) { // crea un nuevo dhtml_object y guárdalo en dhtml_objects dhtml_objects[object_id] = new dhtml_object(current_object, object_css, object_id) } } // Usa document.all para obtener el <span > etiquetas span_tags = document.all.tags("span") // Recorre las etiquetas <span> for (var contador = 0; contador < span_tags.length; contador++) { // Almacena el objeto actual current_object = span_tags[counter ] // Almacena cómo el navegador accede a los estilos object_css = current_object.style // Almacena la identificación del objeto object_id = current_object.id // Almacena solo aquellas etiquetas que tienen una identificación if (object_id) { // crea un nuevo dhtml_object y guárdalo en dhtml_objects dhtml_objects[object_id] = new dhtml_object(current_object, object_css, object_id) } } } // ¿El navegador es compatible con LDOM? else if (document.layers) { // Utilice document.layers para obtener las etiquetas <div> y <span> posicionadas css_tags = document.layers // Recorra las capas for (var contador = 0; contador < css_tags.length; counter++) { // Almacena el objeto actual current_object = css_tags[counter] // Almacena cómo el navegador accede a los estilos object_css = current_object // Almacena la identificación del objeto object_id = current_object.id // Solo almacena aquellas etiquetas que tienen una identificación if (object_id ) { // crea un nuevo dhtml_object y lo almacena en dhtml_objects dhtml_objects[object_id] = new dhtml_object(current_object, object_css, object_id) } } } } function dhtml_object (obj, css, id) { this.obj = obj this.css = css this.id = id this.left = get_left this.right = get_right this.top = get_top this.bottom = get_bottom this.width = get_width this.height = get_height this.visibility = get_visibility this.zIndex = get_zIndex this.move_to = move_to this.move_by = move_by this.set_left = set_left this.set_top = set_top this.set_width = set_width this.set_height = set_height this.set_visibility = set_visibility this.set_zIndex = set_zIndex this.move_above = move_above this.move_below = move_below this.set_backgroundColor = set_backgroundColor this.set_backgroundImage = set_backgroundImage this.set_html = set_html this.get_clip_top = get_clip_top this.get_clip_right = get_clip_right this.get_clip_bottom = get_clip_bottom this.get_clip_left = get_clip_left this.get_clip_width = get_clip_width this.get_clip_height = get_clip_height this.resize_clip_to = _a esto.resize_clip_by = resize_clip_by } función get_left() { devolver parseInt(this.css.left) } función get_right() { devolver this.left() + this.width() } función get_top() { devolver parseInt(this.css.top) } function get_bottom() { return this.top() + this.height() } function get_width() { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, ¿está definido el ancho? if (this.css.width) { // Si es así, devuelve la propiedad de ancho return parseInt(this.css.width) } else { // Si no, devuelve la propiedad offsetWidth return parseInt(this.obj.offsetWidth) } } else { // Si no, devuelve el ancho del documento de la capa return parseInt(this.obj.document.width) } } function get_height() { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, ¿está definida la altura? if (this.css.height) { // Si es así, devuelve la propiedad de altura return parseInt(this.css.height) } else { // Si no, devuelve la propiedad offsetHeight return parseInt(this.obj.offsetHeight) } } else { // Si no, devuelve la altura del documento de la capa return parseInt(this.obj.document.height) } } function get_visibility() { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, ¿está definida la visibilidad? if (this.css.visibility) { // Si es así, devuelve la propiedad de visibilidad return this.css.visibility } } else { // De lo contrario, es un navegador LDOM, por lo que // maneja los valores de visibilidad propietarios if (this.css .visibility == "show") { return "visible" } if (this.css.visibility == "hide") { return "hidden" } } // Si llegamos hasta aquí, simplemente regresa "heredar" return "heredar " } function get_zIndex() { return this.css.zIndex } function move_to (new_left, new_top) { this.css.left = new_left this.css.top = new_top } function move_by (delta_left, delta_top) { // Agrega el delta valores this.css.left = this.left() + parseInt(delta_left) this.css.top = this.top() + parseInt(delta_top) } function set_left (new_left) { this.css.left = new_left } function set_top (new_top) { this.css.top = new_top } function set_width (new_width) { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, simplemente establezca la propiedad de ancho this.css.width = new_width } } function set_height (new_height) { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, simplemente establezca la propiedad de ancho this.css.height = new_height } } function set_visibility (new_visibility) { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, simplemente establezca la visibilidad // en el valor del argumento this.css.visibility = new_visibility } else { // De lo contrario, establezca los valores de visibilidad propietarios if (new_visibility == " visible") { this.css.visibility = "mostrar" } else if (new_visibility == "oculto") { this.css.visibility = "ocultar" } else { this.css.visibility = "heredar" } } } función set_zIndex(new_zindex) { // ¿El nuevo índice z es mayor que 0? if (new_zindex > 0) { // Si es así, configúrelo this.css.zIndex = new_zindex } else { // Si no, configúrelo en 0 this.css.zIndex = 0 } } function move_above(reference_object) { this. css.zIndex = reference_object.css.zIndex + 1 } function move_below(reference_object) { // Obtener el índice z del objeto de referencia reference_zindex = reference_object.css.zIndex // ¿Es mayor que 0? if (reference_zindex > 0) { // Si es así, establece el zindex de este objeto en uno menos this.css.zIndex = reference_zindex - 1 } else { // Si no, establece el índice z del objeto de referencia en 1 // y el de este objeto z-index a 0 reference_object.css.zIndex = 1 this.css.zIndex = 0 } } function set_backgroundColor(new_color) { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, use la propiedad backgroundColor this.css.backgroundColor = new_color } else { // Si no, use la propiedad bgcolor this.css.bgColor = new_color } } function set_backgroundImage(new_image) { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, use la propiedad backgroundImage this.css.backgroundImage = "url(" + new_image + ")" } else { // Si no, use la propiedad de fondo this.css.background .src = new_image } } function set_html(new_html) { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, use la propiedad internalHTML this.obj.innerHTML = new_html } else { // Si no, use el método document.write() this.obj.document.open() this .obj.document.write(new_html) this.obj.document.close() } } function get_clip_top() { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, primero analiza la cadena del clip parse_dom_clip(this) // Los valores del clip ahora están en el objeto current_clip return current_clip.top } else { // De lo contrario, usa clip.top para devolver esto. css.clip.top } } var current_clip function clip_object(arriba, derecha, abajo, izquierda) { this.top = arriba this.right = derecha this.bottom = abajo this.left = izquierda } function parse_dom_clip(current_object) { clip_string = current_object.css.clip if (clip_string.length > 0) { var valores_string = clip_string.slice(5, clip_string.length - 1) var clip_values = valores_string.split(" ") var clip_top = parseInt(clip_values[0]) var clip_right = parseInt(clip_values[1]) var clip_bottom = parseInt(clip_values[2]) var clip_left = parseInt(clip_values[3]) } else { var clip_top = 0 var clip_right = current_object.width() var clip_bottom = current_object.height () var clip_left = 0 } current_clip = new clip_object(clip_top, clip_right, clip_bottom, clip_left) } function get_clip_right() { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, primero analiza la cadena del clip parse_dom_clip(this) // Los valores del clip ahora están en el objeto current_clip return current_clip.right } else { // De lo contrario, usa clip.right para devolver esto. css.clip.right } } function get_clip_bottom() { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, primero analiza la cadena del clip parse_dom_clip(this) // Los valores del clip ahora están en el objeto current_clip return current_clip.bottom } else { // De lo contrario, usa clip.bottom para devolver esto. css.clip.bottom } } function get_clip_left() { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, primero analiza la cadena del clip parse_dom_clip(this) // Los valores del clip ahora están en el objeto current_clip return current_clip.left } else { // De lo contrario, usa clip.left return this. css.clip.left } } function get_clip_width() { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, primero analiza la cadena del clip parse_dom_clip(this) // Los valores del clip ahora están en el objeto current_clip return current_clip.right - current_clip.left } else { // De lo contrario, usa clip. ancho return this.css.clip.width } } function get_clip_height() { // ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Si es así, primero analiza la cadena del clip parse_dom_clip(this) // Los valores del clip ahora están en el objeto current_clip return current_clip.bottom - current_clip.top } else { // De lo contrario, usa clip. ancho devuelve this.css.clip.height } } función resize_clip_to(new_top, new_right, new_bottom, new_left) { if (new_top == "auto") {new_top = this.get_clip_top() } if (new_right == "auto") {new_right = this.get_clip_right() } if (new_bottom == "auto") {new_bottom = this.get_clip_bottom() } if (new_left == "auto") {new_left = this.get_clip_left() } // ¿Es esto un ¿Navegador DOM W3C o DHTML? if (!document.layers) { // Los valores del clip ahora están en el objeto current_clip this.css.clip = "rect(" + new_top + " " + new_right + " " + new_bottom + " " + new_left + ")" } else { // De lo contrario, use las propiedades del clip this.css.clip.top = new_top this.css.clip.right = new_right this.css.clip.bottom = new_bottom this.css.clip.left = new_left } } function resize_clip_by( delta_top, delta_right, delta_bottom, delta_left) { var new_top = this.get_clip_top() + delta_top var new_right = this.get_clip_right() + delta_right var new_bottom = this.get_clip_bottom() + delta_bottom var new_left = this.get_clip_left() + delta_left / / ¿Es este un navegador DOM W3C o DHTML? if (!document.layers) { // Los valores del clip ahora están en el objeto current_clip this.css.clip = "rect(" + new_top + " " + new_right + " " + new_bottom + " " + new_left + ")" } else { // De lo contrario, use las propiedades del clip this.css.clip.top = new_top this.css.clip.right = new_right this.css.clip.bottom = new_bottom this.css.clip.left = new_left } } function get_mouse_x( current_event) { // ¿Es Internet Explorer 4 o posterior? if (its_ie4plus) { // Si es así, devuelve la propiedad event.clientX return event.clientX } // ¿Es este Netscape Explorer 4 o posterior? else if (its_ns4plus) { // De lo contrario, devuelve la propiedad pageX return current_event.pageX } else { // De lo contrario, devuelve nulo return null } } function get_mouse_y(current_event) { // ¿Es Internet Explorer 4 o posterior? if (its_ie4plus) { // Si es así, devuelve la propiedad event.clientY return event.clientY } // ¿Es este Netscape Explorer 4 o posterior? else if (its_ns4plus) { // Si es así, devuelve la propiedad pageY return current_event.pageY } else { // De lo contrario, devuelve null return null } } function get_client_width() { // ¿Es Internet Explorer 4 o posterior? if (its_ie4plus) { // Si es así, devuelve la propiedad clientWidth return document.body.clientWidth } else if (its_ns4plus) { // Si es así, devuelve la propiedad internalWidth return window.innerWidth - 18 } else { // En caso contrario, devuelve null return null } } function get_client_height() { // ¿Es Internet Explorer 4 o posterior? if (its_ie4plus) { // Si es así, devuelve la propiedad clientHeight return document.body.clientHeight } // ¿Es este Netscape Explorer 4 o posterior? else if (its_ns4plus) { // Si es así, devuelve la propiedad InnerHeight return window.innerHeight - 18 } else { // De lo contrario, devuelve null return null } } function get_client_scroll_left() { // ¿Es Internet Explorer 4 o posterior? if (its_ie4plus) { // Si es así, devuelve la propiedad scrollLeft return document.body.scrollLeft } // ¿Es este Netscape Explorer 4 o posterior? else if (its_ns4plus) { // Si es así, devuelve la propiedad pageXOffset return pageXOffset } else { // De lo contrario, devuelve nulo return null } } function get_client_scroll_top() { // ¿Es Internet Explorer 4 o posterior? if (its_ie4plus) { // Si es así, devuelve la propiedad scrollTop return document.body.scrollTop } // ¿Es este Netscape Explorer 4 o posterior? else if (its_ns4plus) { // Si es así, devuelve la propiedad pageYOffset return pageYOffset } else { // De lo contrario, devuelve nulo return null } } </script> <script language="JavaScript" type="text/javascript"> / / Una de estas variables booleanas se // establecerá en verdadero según el nombre del navegador var its_ie = false var its_ns = false var its_opera = false var its_webtv = false var its_compatible = false // Una de estas variables booleanas se establecerá en / / true basado en la versión de Internet Explorer var its_ie2 = false var its_ie3 = false var its_ie4 = false var its_ie5 = false var its_ie55 = false var its_ie6 = false var its_ie4plus = false var its_ie5plus = false var its_ie55plus = false var its_ie6plus = false // Una de estas variables booleanas se establecerá en // verdadero según la versión de Netscape var its_ns2 = false var its_ns3 = false var its_ns4 = false var its_ns6 = false var its_ns3plus = false var its_ns4plus = false var its_ns6plus = false // Uno de estos las variables booleanas // se establecerán en verdadero según el sistema operativo var its_win31 = false var its_win95 = false var its_win98 = false var its_winme = false var its_winnt = false var its_win2000 = false var its_winxp = false var its_windows = false var its_win32 = false var its_mac68k = false var its_macppc = false var its_macos = false var its_linux = false var its_other_os = false // Esto será cierto si el navegador admite algún tipo de DHTML var dhtml_ok = false // Trabajemos con letras minúsculas para mantener las cosas simples var user_agent = navigator.userAgent.toLowerCase() // NOMBRE DEL NAVEGADOR // Utilice indexOf() para examinar la cadena userAgent // en busca de signos reveladores del nombre del navegador if (user_agent.indexOf("opera") != -1) { its_opera = verdadero } else if (user_agent.indexOf("webtv") != -1) { its_webtv = true } else if (user_agent.indexOf("msie") != -1) { its_ie = true } else if (user_agent. indexOf("mozilla") != -1) { // Para "moziila", debemos descartar algunas otras posibilidades, primero if ((user_agent.indexOf("compatible") == -1) && (user_agent.indexOf ("spoofer") == -1) && (user_agent.indexOf("hotjava") == -1)) { its_ns = true } else { its_compatible = true } } // VERSIÓN DEL NAVEGADOR var major_version = parseInt(navigator.appVersion ) var full_version = parseFloat(navigator.appVersion) var ie_start = user_agent.indexOf("msie") if (ie_start! = -1) { var version_string = user_agent.substring(ie_start + 5) major_version = parseInt(version_string) full_version = parseFloat (cadena_versión) } // EXPLORADOR DE INTERNET if (its_ie || its_webtv) { if (principal_version < 3) { its_ie2 = true } else if (principal_version == 3) { its_ie3 = true } else if (principal_version == 4) { its_ie4 = true } else if (principal_version == 5) { its_ie5 = verdadero } else if (versión_completa == 5.5) { its_ie55 = true } else if (versión_principal == 6) { its_ie6 = true } if (versión_principal >= 4) { its_ie4plus = true } if (versión_principal >= 5) { its_ie5plus = verdadero } if (versión_completa >= 5.5) { its_ie55plus = true } if (versión_principal >= 6) { its_ie6plus = true } } // NETSCAPE if (its_ns) { if (versión_principal < 3) { its_ns2 = true } else if ( versión_mayor < 4) { its_ns3 = verdadero } else if (versión_mayor == 4) { its_ns4 = verdadero } else if (versión_mayor == 5) { its_ns6 = verdadero } if (versión_mayor >= 3) { its_ns3plus = true } if (versión_mayor >= 4) { its_ns4plus = true } if (major_version >= 5) { its_ns6plus = true } } // SISTEMA OPERATIVO // Utilice indexOf() para examinar la cadena userAgent // en busca de signos reveladores del sistema operativo // WINDOWS 3.1 if ((user_agent.indexOf("windows 3.1") != -1) || (user_agent.indexOf("win16") != -1) || (user_agent.indexOf("16bit") != -1) || (user_agent.indexOf("16 bits") != -1)) { its_win31 = true } // WINDOWS 95 else if ((user_agent.indexOf("windows 95") != -1) || (user_agent.indexOf ("win95") != -1)) { its_win95 = true } // WINDOWS ME if (user_agent.indexOf("win 9x 4.90") != -1) { its_winme = true } // WINDOWS 98 else si (( user_agent.indexOf("windows 98") != -1) || (user_agent.indexOf("win98") != -1)) { its_win98 = true } // WINDOWS XP else if ((user_agent.indexOf("windows nt 5.1") != -1) || (user_agent.indexOf("winnt 5.1") != -1)) { its_winxp = true } // WINDOWS 2000 else if ((user_agent.indexOf("windows nt 5.0") != -1) || (user_agent.indexOf("winnt 5.0") != -1)) { its_win2000 = true } // WINDOWS NT else if ((user_agent.indexOf("windows nt") != -1) || (user_agent.indexOf("winnt") != -1)) { its_winnt = true } // MAC 680x0 else if ((user_agent.indexOf("mac") != -1) && ((user_agent.indexOf( "68K") != -1) || (user_agent.indexOf("68000") != -1))) { its_mac68k = true } // MAC PowerPC else if ((user_agent.indexOf("mac") != -1) && ((user_agent.indexOf("ppc") != -1) || (user_agent.indexOf("powerpc") != -1))) { its_macppc = true } // LINUX else if (user_agent.indexOf("linux") != -1) { its_linux = true } // OTROS SO else { its_other_os = true } // PLATAFORMA // Utiliza los valores booleanos del sistema operativo para // determinar la plataforma general // MAC OS if (its_mac68k || its_macppc) { its_macos = true} // WINDOWS de 32 BITS if (its_win95 || its_win98 || its_winme || its_winnt || its_win2000 || its_winxp) {its_win32 = true} // WINDOWS if (its_win31 || its_win32) {its_windows = true} // SOPORTE DHTML if (document.getElementById || document.all || documento .layers) { dhtml_ok = true } </script> <script language="JavaScript" type="text/javascript"> <!-- var slides = new Array() var slide_width = 525 var slide_height = 296 diapositivas[0] = new Image(slide_width, slide_height) slides[0].src = "/u/info_img/2009-06/20/fiesole1.jpg" slides[0].caption = "Un teatro romano con capacidad para 3.000 asientos de aproximadamente el año 100 a.C. ( Fiesole, Italia)" slides[1] = new Image(slide_width, slide_height) slides[1].src = "/u/info_img/2009-06/20/fiesole2.jpg" slides[1].caption = "Ruinas etruscas de aproximadamente 600 a.C. (Fiesole, Italia)" diapositivas[2] = nueva imagen(ancho_diapositiva, altura_deslizamiento) diapositivas[2].src = "/u/info_img/2009-06/20/florence04.jpg" diapositivas[2]. caption = "La Piazza Della Signoria (Florencia, Italia)" diapositivas[3] = nueva imagen(ancho_diapositiva, altura_deslizamiento) diapositivas[3].src = "/u/info_img/2009-06/20/florence06.jpg" diapositivas[ 3].caption = "Los jardines de Boboli (Florencia, Italia)" // Utilice estas variables para configurar el visor var scroll_amount = 10 var scroll_delay = 50 var timeout_id var current_slide = 0 var pendiente_slide = 1 var desplazamiento var transiciones = new Array( "deslizar", "limpiar") var h_directions = new Array("izquierda", "derecha", "ambos", "ninguno") var v_directions = new Array("abajo", "arriba", "ambos", "ninguno ") var visor_data = new visor_data_object() // Esta función crea el objeto visor function visor_data_object(ancho, alto, arriba, izquierda, cantidad de desplazamiento) {} function inicialize() { // Si se trata de un navegador que no es DHTML, rescate if (!dhtml_ok) { return } // crea los objetos DHTML create_object_array() // Configura el objeto visor viewer_data.width = dhtml_objects['viewer1'].width() viewer_data.height = dhtml_objects['viewer1'].height () visor_data.top = dhtml_objects['viewer1'].top() visor_data.left = dhtml_objects['viewer1'].left() visor_data.scrollamount = cantidad_desplazamiento visor_data.scrolldelay = retraso_desplazamiento visor_data.scroll_start = ancho_deslizamiento visor_data.transition = transiciones [0] visor_data.h_direction = h_directions[0] visor_data.v_direction = v_directions[0] write_controls() } // Esta función establece la posición inicial del visor y la región del clip function inicialize_viewer() { // Ocultar visor2 dhtml_objects['viewer2'] .set_visibility("hidden") // Colocar en la imagen principal dhtml_objects['viewer1'].set_html('<img src="' + slides[current_slide].src + '">') // Restablecerlo para una visualización completa dhtml_objects['viewer1'].move_to(viewer_data.left, visor_data.top) dhtml_objects['viewer1'].resize_clip_to(0, visor_data.width, visor_data.height, 0) // selecciona una transición aleatoria visor_data.transition = transiciones[ Math.floor(transitions.length * Math.random())] visor_data.h_direction = h_directions[Math.floor(h_directions.length * Math.random())] visor_data.v_direction = v_directions[Math.floor(v_directions.length * Math.random())] // Establece la bandera de desplazamiento scrolling = true // actualiza los controles write_controls() if (viewer_data.transition == "slide") { slide_out() } else {wipe_out() } } function next_slide( ) { // Cambiar el número de diapositiva pendiente pendiente_slide = current_slide + 1 inicialize_viewer() } function anterior_slide() { // Cambiar el número de diapositiva pendiente pendiente_slide = current_slide - 1 inicialize_viewer() } function slide_out() { // Verificar el ancho y altura de la región de recorte del objeto if (dhtml_objects['viewer1'].get_clip_width() > 0 && dhtml_objects['viewer1'].get_clip_height() > 0) { // Si ambos siguen siendo positivos, sigue deslizando var horizontal_move = 0 var vertical_move = 0 var top_resize = 0 var right_resize = 0 var bottom_resize = 0 var left_resize = 0 // Obtener los ajustes horizontales if (viewer_data.h_direction == "left") { horizontal_move = -viewer_data.scrollamount left_resize = espectador_data.scrollamount } else if (viewer_data.h_direction == "derecha") { horizontal_move = visor_data.scrollamount right_resize = -viewer_data.scrollamount } else if (viewer_data.h_direction == "both") { left_resize = visor_data.scrollamount right_resize = -viewer_data.scrollamount } / / Obtener los ajustes verticales if (viewer_data.v_direction == "down") { vertical_move = Viewer_data.scrollamount bottom_resize = -viewer_data.scrollamount } else if (viewer_data.v_direction == "up") { vertical_move = -viewer_data.scrollamount top_resize = visor_data.scrollamount } else if (viewer_data.v_direction == "both") { bottom_resize = -viewer_data.scrollamount top_resize = visor_data.scrollamount } // Mover el objeto dhtml_objects['viewer1'].move_by(horizontal_move, vertical_move) // Ajustar la región del clip dhtml_objects['viewer1'].resize_clip_by(top_resize, right_resize, bottom_resize, left_resize) // Establece un nuevo tiempo de espera timeout_id = setTimeout("slide_out()", visor_data.scrolldelay) write_controls() } else { // Borra el timeout clearTimeout(timeout_id) // La diapositiva pendiente ahora es la diapositiva actual current_slide = pendiente_slide // Prepara la diapositiva entrante prepare_next_slide() } } function wipe_out() { // Verifica el ancho y alto de la región del clip del objeto if (dhtml_objects[ 'viewer1'].get_clip_width() > 0 && dhtml_objects['viewer1'].get_clip_height() > 0) { // Si ambos siguen siendo positivos, sigue limpiando var top_resize = 0 var right_resize = 0 var bottom_resize = 0 var left_resize = 0 // Obtener los ajustes horizontales if (viewer_data.h_direction == "left") { right_resize = -viewer_data.scrollamount } else if (viewer_data.h_direction == "right") { left_resize = Viewer_data.scrollamount } else if (viewer_data. h_direction == "both") { left_resize = visor_data.scrollamount right_resize = -viewer_data.scrollamount } // Obtener los ajustes verticales if (viewer_data.v_direction == "down") { top_resize = visor_data.scrollamount } else if (viewer_data.v_direction == "arriba") { bottom_resize = -viewer_data.scrollamount } else if (viewer_data.v_direction == "both") { bottom_resize = -viewer_data.scrollamount top_resize = espectador_data.scrollamount } // Ajusta la región del clip dhtml_objects['viewer1' ].resize_clip_by(top_resize, right_resize, bottom_resize, left_resize) // Establecer un nuevo tiempo de espera timeout_id = setTimeout("wipe_out()", visor_data.scrolldelay) } else { // Borrar el tiempo de espera clearTimeout(timeout_id) // La diapositiva pendiente es ahora la diapositiva actual current_slide = pendiente_slide // Preparar la diapositiva entrante prepare_next_slide() } } function stop_it() { // Apagar el visor borrando el tiempo de espera actual clearTimeout(timeout_id) // Borrar la bandera de desplazamiento scrolling = false // actualizar los controles write_controls() } function prepare_next_slide() { // selecciona una transición de borrado aleatorioviewer_data.transition = "borrar"viewer_data.h_direction = h_directions[Math.floor(h_directions.length * Math.random())]viewer_data.v_direction = v_directions[Math.floor(v_directions.length * Math.random())] var top_clip_start = 0 var right_clip_start = visor_data.width var bottom_clip_start = visor_data.height var left_clip_start = 0 // Obtener los ajustes horizontales if (viewer_data.h_direction == "izquierda") { left_clip_start = visor_data.width } else if (viewer_data.h_direction == "right") { right_clip_start = 0 } else if (viewer_data.h_direction == "both") { left_clip_start = Math.floor(viewer_data.width / 2) right_clip_start = Math.floor(viewer_data.width / 2) } // Obtener los ajustes verticales if (viewer_data.v_direction == "down") { bottom_clip_start = 0 } else if (viewer_data.v_direction == "up") { top_clip_start = visor_data.height } else if (viewer_data.v_direction == "both") { bottom_clip_start = Math.floor(viewer_data.height / 2) top_clip_start = Math.floor(viewer_data.height / 2) } // Agrega la imagen dhtml_objects['viewer2'].set_html('<img src="' + slides[current_slide].src + '">') // Hacer visible el objeto dhtml_objects['viewer2'].set_visibility("visible") // Cambie su tamaño dhtml_objects['viewer2'].resize_clip_to(top_clip_start, right_clip_start, bottom_clip_start, left_clip_start) // Realiza la transición de borrado clean_in() } function clean_in() { // Compara el ancho y alto del clip con el ancho y alto del objeto if ( dhtml_objects['viewer2'].get_clip_width() <viewer_data.width || dhtml_objects['viewer2'].get_clip_height() <viewer_data.height) { // Si alguno es menor, sigue limpiando var top_resize = 0 var right_resize = 0 var bottom_resize = 0 var left_resize = 0 // Obtén los ajustes horizontales si ( visor_data.h_direction == "izquierda") { left_resize = -viewer_data.scrollamount } else if (viewer_data.h_direction == "right") { right_resize = visor_data.scrollamount } else if (viewer_data.h_direction == "both") { left_resize = -viewer_data.scrollamount right_resize = visor_data.scrollamount } // Obtener los ajustes verticales if (viewer_data.v_direction == "down") { bottom_resize = visor_data.scrollamount } else if (viewer_data.v_direction == "up") { top_resize = -viewer_data.scrollamount } else if (viewer_data.v_direction == "both") { bottom_resize = Viewer_data.scrollamount top_resize = -viewer_data.scrollamount } // Ajusta la región del clip dhtml_objects['viewer2'].resize_clip_by(top_resize, right_resize, bottom_resize , left_resize) // Establece un nuevo tiempo de espera timeout_id = setTimeout("wipe_in()", visor_data.scrolldelay) } else { stop_it() } } function write_controls() { // Escribe el número de diapositiva if (desplazamiento) { slide_text = " Cargando la siguiente diapositiva...<p>" } else { slide_text = "Diapositiva #" + eval(current_slide + 1) + "—" + diapositivas[diapositiva_actual].caption + "<p>" } if (diapositiva_actual == 0 || desplazamiento) { control_anterior = "Anterior" } else {control_anterior = '<a href="javascript:previous_slide()">Anterior< /a>' } if (current_slide == slides.length - 1 || desplazamiento) { next_control = "Siguiente" } else { next_control = '<a href="javascript:next_slide()">Siguiente</a>' } dhtml_objects["controls"].set_html(slide_text + anterior_control + " " + next_control) } //--> </script> </head> <body onLoad="initialize()"> <!--Necesidades de IE tener el posicionamiento dentro de la etiqueta --> <div id="viewer1" style="position:absolute; left:10; top:0"> <img src="/u/info_img/2009-06/20/fiesole1 .jpg"> </div> <div id="viewer2" style="posición:izquierda absoluta:10; arriba:0"></div> <div id="controles" estilo="posición:izquierda absoluta; :10; arriba:325; ancho: 525; alineación de texto: centro; peso de fuente:bold"></div> </div> </body> </html>