Foros del Web » Programando para Internet » Javascript »

Fotógrafo CON medias imágenes

Estas en el tema de Fotógrafo CON medias imágenes en el foro de Javascript en Foros del Web. Hola: Después del tema de ayer sobre el contenedor de miniaturas en movimiento, y habiendo encontrado la solución gracias a "Carlitos", ahora se me plantea ...
  #1 (permalink)  
Antiguo 11/02/2005, 17:25
 
Fecha de Ingreso: enero-2004
Ubicación: Barcelona
Mensajes: 24
Antigüedad: 20 años, 3 meses
Puntos: 0
Desacuerdo Fotógrafo CON medias imágenes

Hola:
Después del tema de ayer sobre el contenedor de miniaturas en movimiento, y habiendo encontrado la solución gracias a "Carlitos", ahora se me plantea otro problema con el mismo, y es que no me pasa más de 8-9 minis cuando en el html le tengo puestas 14.O sea, se ven perfectamente bien las minis, están bien situadas, pero en el movimiento hacia el lado derecho NO me llega hasta el final de las 14 minis. Os dejo el archivo ".js" externo, y los "div" más el código de imágenes en el html por si alguien ve el problema.¿Qué hay que variar para que me enseñe todas las minis linkeadas o incluso más?.
Gracias y hasta pronto.

Charles.

1- Archivo ".js":

/***********************************************
* CMotion Image Gallery- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Visit http://www.dynamicDrive.com for source code
* This copyright notice must stay intact for legal use
***********************************************/

var restarea=6 //width of the "neutral" area in the center of the gallery in px
var maxspeed=7 //top scroll speed in pixels. Script auto creates a range from 0 to top speed.

function enlargeimage(path, optWidth, optHeight){ //function to enlarge image. Change as desired.
var actualWidth=typeof optWidth!="undefined" ? optWidth : "600px" //set 600px to default width
var actualHeight=typeof optHeight!="undefined" ? optHeight : "500px" //set 500px to default height
var winattributes="width="+actualWidth+",height="+actu alHeight+",resizable=yes"
window.open(path,"", winattributes)
}

////NO NEED TO EDIT BELOW THIS LINE////////////

var iedom=document.all||document.getElementById
var scrollspeed=0
var movestate=""

if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100;left:-10000;"></span>')

var actualwidth=''
var cross_scroll, ns_scroll
var loadedyes=0

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft: what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function moveleft(){
if (loadedyes){
movestate="left"
if (iedom&&parseInt(cross_scroll.style.left)>(menuwid th-actualwidth))
cross_scroll.style.left=parseInt(cross_scroll.styl e.left)-scrollspeed+"px"
}
lefttime=setTimeout("moveleft()",10)
}

function moveright(){
if (loadedyes){
movestate="right"
if (iedom&&parseInt(cross_scroll.style.left)<0)
cross_scroll.style.left=parseInt(cross_scroll.styl e.left)+scrollspeed+"px"
}
righttime=setTimeout("moveright()",10)
}

function motionengine(e){
var dsocx=(window.pageXOffset)? pageXOffset: ietruebody().scrollLeft;
var dsocy=(window.pageYOffset)? pageYOffset : ietruebody().scrollTop;
var curposy=window.event? event.clientX : e.clientX? e.clientX: ""
curposy-=mainobjoffset-dsocx
var leftbound=(menuwidth-restarea)/2
var rightbound=(menuwidth+restarea)/2
if (curposy>rightbound){
scrollspeed=(curposy-rightbound)/((menuwidth-restarea)/2) * maxspeed
if (window.righttime) clearTimeout(righttime)
if (movestate!="left") moveleft()
}
else if (curposy<leftbound){
scrollspeed=(leftbound-curposy)/((menuwidth-restarea)/2) * maxspeed
if (window.lefttime) clearTimeout(lefttime)
if (movestate!="right") moveright()
}
else
scrollspeed=0
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function stopmotion(e){
if ((window.event&&!crossmain.contains(event.toElemen t)) || (e && e.currentTarget && e.currentTarget!= e.relatedTarget && !contains_ns6(e.currentTarget, e.relatedTarget))){
if (window.lefttime) clearTimeout(lefttime)
if (window.righttime) clearTimeout(righttime)
movestate=""
}
}

function fillup(){
if (iedom){
crossmain=document.getElementById? document.getElementById("motioncontainer") : document.all.motioncontainer
menuwidth=parseInt(crossmain.style.width)
mainobjoffset=getposOffset(crossmain, "left")
cross_scroll=document.getElementById? document.getElementById("motiongallery") : document.all.motiongallery
document.getElementById("temp").innerHTML=cross_sc roll.innerHTML //NEW stuff
actualwidth=document.all? cross_scroll.offsetWidth : document.getElementById("temp").offsetWidth
if (!window.opera) document.getElementById("temp").style.display="non e"

crossmain.onmousemove=function(e){
motionengine(e)
}

crossmain.onmouseout=function(e){
stopmotion(e)
}
}
loadedyes=1
}
window.onload=fillup
-------------------------------------
2-Y los "div" y codigo html:

<div id="motioncontainer" style="position:relative;top:0px;left:161px;width: 700px;height:150px;overflow:hidden;">
<div id="motiongallery" style="position:absolute; left:0px; top:45px; white-space:nowrap;">
<nobr>
<a href="#"><img src="cmotiongallery_files/foto1.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto2.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto3.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto4.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto5.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto6.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto7.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto8.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto9.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto10.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto11.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto12.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto13.gif" border=1></a>
<a href="#"><img src="cmotiongallery_files/foto14.gif" border=1></a>
</nobr>
</div>
</div>
-----------------------------------
  #2 (permalink)  
Antiguo 11/02/2005, 18:42
Avatar de erlingfiallos  
Fecha de Ingreso: febrero-2005
Ubicación: Mexico ahora
Mensajes: 499
Antigüedad: 19 años, 2 meses
Puntos: 9
Si te fijas tu tienes un ancho de 700px en tu div motioncontainer y en el .Js por defecto hay solamente 600px.. si cambias el .Js y modificas el valor que abajo te señalo.. funcionara todo bien..

optWidth : "600px" //set 600px to default width
  #3 (permalink)  
Antiguo 11/02/2005, 19:17
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 22 años, 11 meses
Puntos: 25
Hola de nuevo.

He probado hasta con 20 imágenes y puedo verlas todas. El problema lo debes tener en otro sitio.

Tienes la página publicada en algún sitio donde se pueda ver?

Última edición por Carlitos; 11/02/2005 a las 19:51 Razón: Fallo ortográfico.
  #4 (permalink)  
Antiguo 12/02/2005, 19:32
 
Fecha de Ingreso: enero-2004
Ubicación: Barcelona
Mensajes: 24
Antigüedad: 20 años, 3 meses
Puntos: 0
Busqueda

Nada, no hay manera, ni con la solución de "erlingfiallos". No me deja ver más de nueve minis. He probado muchas cosas y nada. La página, Carlitos aún no la he "colgado", pues estoy en la fase del diseño y solamente tiene el fondo en .jpg donde hay la tira de pelicula por la que deberían pasar TODOS los .gif. Pero sé que la solución está cerca!. Veamos: me da un mal sabor de que Carlitos pueda ver esas minis y tal como dices, hasta 20 y seguramente que más, entonces, podría ser que el problema lo tuviera con mi navegador Firefox. En la Consola Javascript de éste me sale un error que hace referencia al archivo ".js". En concreto todo lo que pone és:

Error: archivo Http://localhost/cmotiongallery_files/motiongallery.js

while (b. parentNode) línea 85.

Pregunto: ¿Puede ser de algún evento DOM, diferente en expresión con Firefox? ¿Puede tener dicho archivo ".js" alguna sintaxis que no sirve para Firefox?
Sinceramente, mi nivel ya no llega tan arriba.
Gracias por vuestro interés y ayuda. Seguiré probando, seguro, hasta conseguir la solución.
Saludos.

Charles.
  #5 (permalink)  
Antiguo 12/02/2005, 21:42
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 22 años, 11 meses
Puntos: 25
Mi prueba ha sido con Firefox. Y a mi no me da ningún error.
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 11:48.