Foros del Web » Programando para Internet » Javascript »

Ayuda con un código!!!

Estas en el tema de Ayuda con un código!!! en el foro de Javascript en Foros del Web. Hola a tod@s! Qué tal? Bueno, necesitaría ayuda con un javascripts que no me funciona muy bien... y no se que hacer... Pretendo crear una ...
  #1 (permalink)  
Antiguo 13/01/2005, 10:58
 
Fecha de Ingreso: enero-2005
Ubicación: Madrid
Mensajes: 3
Antigüedad: 19 años, 3 meses
Puntos: 0
Ayuda con un código!!!

Hola a tod@s!

Qué tal? Bueno, necesitaría ayuda con un javascripts que no me funciona muy bien... y no se que hacer...

Pretendo crear una página en la que aparezca un calendario en el que podemos navegar mediante unas flechas y directamente a cada mes mediante hipervinculos (utilizando anclas).

El fallo que me da es que si primero me muevo mediante los enlaces y voy, por ejemplo, a cualquier mes y luego quiero acceder al anterior mediante las flechas no me deja subir porque entiende que la posición continua siendo para X cero.

Muchas Gracias.



<html>
<head>
<title></title>

<style type="text/css">
<!--
-->
#divUpControl{position:absolute; width:295; left:346px; top:15px; z-index:1; text-align: right}
#divDownControl{position:absolute; width:295; left:348; top:195; z-index:1; text-align: right}
#divContainer{position:absolute; width:295; height:160; overflow:hidden; top:25; left:348; clip:rect(0,295,160,0); visibility:hidden}
#divContent{
position:absolute;
top:0px;
left:-24px;
visibility: visible;
width: 278px;
height: 1311px;
}
</style>


<script language="JavaScript">

function verifyCompatibleBrowser(){
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
return this
}
bw=new verifyCompatibleBrowser()
var speed=50
var loop, timer

function ConstructObject(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.el=bw.dom?document.getElementById(obj):bw.ie4 ?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
this.css=bw.dom?document.getElementById(obj).style :bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
this.scrollHeight=bw.ns4?this.css.document.height: this.el.offsetHeight
this.clipHeight=bw.ns4?this.css.clip.height:this.e l.offsetHeight
this.up=MoveAreaUp;this.down=MoveAreaDown;
this.MoveArea=MoveArea; this.x; this.y;
this.obj = obj + "Object"
eval(this.obj + "=this")
return this
}
function MoveArea(x,y){
this.x=x;this.y=y
this.css.left=this.x
this.css.top=this.y
}

function MoveAreaDown(move){
if(this.y>-this.scrollHeight+objContainer.clipHeight){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".down("+move+")",speed)
}
}
function MoveAreaUp(move){
if(this.y<0){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".up("+move+")",speed)
}
}

function PerformScroll(speed){
if(initialised){
loop=true;
if(speed>0) objScroller.down(speed)
else objScroller.up(speed)
}
}

function CeaseScroll(){
loop=false
if(timer) clearTimeout(timer)
}
var initialised;
function InitialiseScrollableArea(){
objContainer=new ConstructObject('divContainer')
objScroller=new ConstructObject('divContent','divContainer')
objScroller.MoveArea(0,0)
objContainer.css.visibility='visible'
initialised=true;
}

</script>


</head>

<body bgcolor="#FFFFFF" onLoad=";InitialiseScrollableArea()" background="file:///F|/images/li_bg.gif">
<span class="stillink"></span> <span class="fliesstext"></span> <span class="fliesstext"></span>
<span class="fliesstext"></span>
<!-- begin absolutely positioned scrollable area object-->
<div id="divUpControl">


<a href="#" onMouseMove="javascript:;return false" onmouseover=PerformScroll(-3) onfocus=blur()
onmouseout=CeaseScroll()><img src="a.jpg" width="19" height="10" border="0"></a></div>
<div id="divDownControl"> <a href="#" onMouseMove= "javascript:;return false" onmouseover=PerformScroll(3) onfocus=blur() onmouseout=CeaseScroll()
><img src="a.jpg" width="19" height="10" border="0"></a>
</div>
<div id="divContainer">
<div id="divContent"> Eine Ebene ist ein Container in einer Webseite, der HTML-Seitenelemente
enth&auml;lt. Durch die Verwendung von Ebenen in einer Seite stehen zus&auml;tzliche,
flexible Steuerelemente f&uuml;r dynamische Seitenfunktionen bereit.Beim Entwurf
von Webseiten stehen Webdesignern &uuml;ber Ebenen gleiche Beeinflussungsm&ouml;glichkeiten
und die gleiche Flexibilit&auml;t wie im herk&ouml;mmlichen Drucklayout zur
Verf&uuml;gung.
<p>Ebenen k&ouml;nnen &uuml;bereinander gelegt, aus- oder eingeblendet oder
zeitleistengesteuert &uuml;ber den Bildschirm geschoben werden. So kann
beispielsweise in eine Ebene ein Hintergrundbild eingef&uuml;gt werden,
&uuml;ber die eine andere <a name="ANKER1"><strong>ANKER1</strong></a> Ebene
mit Text gelegt wird. Die Seite kann auch Bilder enthalten, die ein- und
ausgeblendet werden. Diese Effekte k&ouml;nnen Sie in Dreamweaver mit Ebenen
realisieren, ohne JavaScript- oder HTML-Code zu schreiben. Zu beachten ist
jedoch, dass &auml;ltere Browser den Quellcode f&uuml;r Ebenen nicht interpretieren
k&ouml;nnen und diesen folglich dann nicht korrekt ausgeben. </p>
<p>Wenn Sie in eine Webseite Ebenen einf&uuml;gen, f&uuml;gt Dreamweaver das
HTML-Tag f&uuml;r diese Ebenen in den Code ein. F&uuml;r Ebenen k&ouml;nnen
Sie vier verschiedene Tags festlegen: div, span, layer und ilayer. div und
span sind die am h&auml;ufigsten verwendeten Tags. Durch ihre Verwendung
wird gew&auml;hrleistet, dass die <a name="ANKER2"><strong>ANKER2</strong></a> Ebenen von den meisten Besuchern Ihrer Website angezeigt werden k&ouml;nnen.
Standardm&auml;&szlig;ig erstellt Dreamweaver Ebenen mit dem div-Tag und
f&uuml;gt den Ebenencode an der Einf&uuml;gemarke oder ganz oben auf der
Seite unmittelbar nach dem body-Tag ein. Bei einer verschachtelten Ebene
wird der Code innerhalb des Tags eingef&uuml;gt, das die &uuml;bergeordnete
Ebene definiert.</p>
<p>Um Ebenen zu erstellen, klicken Sie Sie in der Objektpalette auf die Schaltfl&auml;che
Ebene zeichnen und ziehen die Ebene anschlie&szlig;end in das Dokumentfenster
oder Sie setzen die Einf&uuml;gemarke an die Stelle des Dokumentfensters,
an der die Ebene eingef&uuml;gt werden soll, und w&auml;hlen dann Einf&uuml;gen
&gt; Ebene, um eine Ebene einzuf&uuml;gen. Um in einem Arbeitsgang mehrere
Ebenen zu zeichnen, klicken Sie in der Objektpalette auf die Schaltfl&auml;che
Ebene zeichnen und halten die Strg-Taste (Windows) bzw. die Befehlstaste
(Macintosh) gedr&uuml;ckt, w&auml;hrend Sie die Ebenen zeichnen. Solange
Sie die Strg-Taste gedr&uuml;ckt halten, k&ouml;nnen Sie weitere neue Ebenen
zeichnen.</p>
<p>Mit der Ebenenpalette k&ouml;nnen Sie die Ebenen in Ihrem Dokument verwalten.
W&auml;hlen Sie Fenster &gt; Ebenen oder dr&uuml;cken Sie F11, um die Ebenenpalette
zu &ouml;ffnen. In der Ebenenpalette werden die Ebenen ihrer Struktur entsprechend
aufgelistet; die zuerst erstellte Ebene befindet sich ganz unten in der
Liste, die neueste Ebene ganz oben. <a name="ANKER3"><strong>ANKER3</strong></a> Verschachtelte Ebenen werden durch Namen dargestellt, die mit den &uuml;bergeordneten
Ebenen verbunden sind. Klicken Sie auf die Plus- oder Minuszeichen bzw.
auf den Pfeil, um verschachtelte Ebenen ein- oder auszublenden.<br>
</p>
</div>
</div>
<!-- end absolutely positioned scrollable area object -->
<p> <a href="#ANKER1">Link Anker 1</a></p>
<p><a href="#ANKER2">Link Anker 2</a></p>
<p><a href="#ANKER3">Link Anker 3</a></p>
</body>
</html>
  #2 (permalink)  
Antiguo 13/01/2005, 13:51
 
Fecha de Ingreso: enero-2005
Ubicación: Madrid
Mensajes: 3
Antigüedad: 19 años, 3 meses
Puntos: 0
Cambié el código pero me sigue fallando...

Perdonar..
Cambié el código pero me sigue fallando aunque funcione bien por separado… no funciona si se utilizan los enlaces, por ejemplo, pinchando en “Marzo” y luego se quiere subir mediante las flechas hacia arriba…
Podéis ayudarme ?
Muchas gracias!



<html>
<head>
<title></title>


<STYLE type=text/css>
#divUpControl {
Z-INDEX: 1; LEFT: 10px; WIDTH: 16px; POSITION: absolute; TOP: 10px; TEXT-ALIGN: right
}
#divDownControl {
Z-INDEX: 1; LEFT: 10px; WIDTH: 16px; POSITION: absolute; TOP: 270px; TEXT-ALIGN: right
}
#divContainer {
LEFT: 10px;
VISIBILITY: hidden;
OVERFLOW: hidden;
WIDTH: 320px;
CLIP: rect(0px 320px 240px 0px);
POSITION: absolute;
TOP: 30px;
HEIGHT: 240px;
background-color: #FFFFFF;
}
#divContent {
LEFT: 0px;
POSITION: absolute;
TOP: 0px;
width: 285px;
height: 617px;
}
#divDatosContacto {
LEFT: 480px; POSITION: absolute; TOP: 40px; HEIGHT: 200px
}
</STYLE>

<SCRIPT language=JavaScript>
function verifyCompatibleBrowser(){
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;

this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
return this
}
bw=new verifyCompatibleBrowser()


var speed=50

var loop, timer

function ConstructObject(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.el=bw.dom?document.getElementById(obj):bw.ie4 ?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
this.css=bw.dom?document.getElementById(obj).style :bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
this.scrollHeight=bw.ns4?this.css.document.height: this.el.offsetHeight
this.clipHeight=bw.ns4?this.css.clip.height:this.e l.offsetHeight
this.scrollWidth=bw.ns4?this.css.document.width:th is.el.offsetWidth
this.clipWidth=bw.ns4?this.css.clip.width:this.el. offsetWidth
this.up=MoveAreaUp;this.down=MoveAreaDown;this.lef t=MoveAreaLeft;this.right=MoveAreaRight;
this.MoveArea=MoveArea; this.x; this.y;
this.obj = obj + "Object"
eval(this.obj + "=this")
return this
}
function MoveArea(x,y){
this.x=x;this.y=y
this.css.left=this.x
this.css.top=this.y
}

function MoveAreaDown(move){
if(this.y>-this.scrollHeight+objContainer.clipHeight){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".down("+move+")",speed)
}
}

function MoveAreaUp(move){
if(this.y<0){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".up("+move+")",speed)
}
}

function MoveAreaLeft(move){
this.MoveArea(this.x-move,0) ;
if(loop) setTimeout(this.obj+".left("+move+")",speed) ;
}

function MoveAreaRight(move){
if(this.x<0){
this.MoveArea(this.x-move,0)
if(loop) setTimeout(this.obj+".right("+move+")",speed)
}
}

function PerformScroll(speed){
if(initialised){
loop=true;
if(speed>0) objScroller.down(speed)
else objScroller.up(speed)
}
}

function PerformScrollLateral(speed){
if(initialised){
loop=true;
if(speed>0) objScroller2.left(speed)
else objScroller2.right(speed)
}
}


function CeaseScroll(){
loop=false
if(timer) clearTimeout(timer)
}
var initialised;
function InitialiseScrollableArea(){
objContainer=new ConstructObject('divContainer')
objScroller=new ConstructObject('divContent','divContainer')
objScroller.MoveArea(0,0)
objContainer.css.visibility='visible'
initialised=true;
}


</SCRIPT>
</head>

<body onload=InitialiseScrollableArea()>
<div align="center">
<p>&nbsp;</p>

<p><a href="#e">Enero</a></p>
<p><a href="#f">Febrero</a></p>
<p><a href="#m">Marzo</a></p>
<p>&nbsp;</p>

<DIV id=divUpControl style="Z-INDEX: 36; LEFT: 503px; WIDTH: 16px; TOP: 170px; HEIGHT: 20px">
<div align="left"><A onmouseover=PerformScroll(-3) onfocus=blur() onmouseout=CeaseScroll() href="javascript:;">
<IMG height=22 src="file:///I|/calendario/imagenes/A_UP.gif" width=22 border=0> </A> </div>
</DIV>

<DIV id=divDownControl style="Z-INDEX: 37; LEFT: 503px; WIDTH: 15px; TOP: 199px; HEIGHT: 20px">
<A onmouseover=PerformScroll(3) onfocus=blur() onmouseout=CeaseScroll() href="javascript:;">
<IMG height=22 src="file:///I|/calendario/imagenes/A_DOWN.gif" width=22 border=0> </A> </DIV>

<DIV id=divContainer
style="Z-INDEX: 38; LEFT: 201px; VISIBILITY: visible; WIDTH: 299px; CLIP: rect(0px 500px 220px 0px); TOP: 170px; HEIGHT: 219px">
<DIV class=normal id=divContent style="LEFT: 7px; TOP: 62px">
<TABLE width="100%" border=0 cellPadding=1 cellSpacing=1 bgcolor="#FFFFFF">
<TBODY>
<TR>
<TD class=normal vAlign=top bgcolor=#FFFFFF>
<P align=center>&nbsp;</P>
<P align=center><a name="e"></a><FONT face="Verdana, Arial, Helvetica, sans-serif" color=#006600 size=2>
</FONT></P> <div align="center">
<table width="200" border="1">
<tr>
<td>Enero</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a name="f" id="f"></a></p>
<table width="200" border="1">
<tr>
<td>Febrero</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a name="m" id="m"></a></p>
<table width="200" border="1">
<tr>
<td>Marzo</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
</div></TD>
</TR>
</TBODY>
</TABLE>
</div></div>

<p align="center">&nbsp;</p>
</div></body>

</html>
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 05:59.