Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2005, 10:58
sandra.c
 
Fecha de Ingreso: enero-2005
Ubicación: Madrid
Mensajes: 3
Antigüedad: 20 años, 1 mes
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>