Avatar billede eksplayer Nybegynder
16. juni 2004 - 16:25 Der er 12 kommentarer og
1 løsning

Registrer bevægelse

Hej

På denne side: http://www.download-freeware-shareware.com/ er der et billede i højre side der følger med op og ned når man bevæger musen.

Er der nogen der kan fortælle hvordan man laver det? - og helst med et tilsvarende billede i den venstre side.
Avatar billede skovenborg Nybegynder
16. juni 2004 - 17:13 #1
meget enkelt kan det gøres sådan her:
<script type="text/javascript">
  document.onmousemove = function(e) {
          elm1 = document.getElementById("scrollbld1");
          elm2 = document.getElementById("scrollbld2");
          if (window.event) {elm1.style.top = elm2.style.top = event.clientY-20+"px";}
          else {elm1.style.top = elm2.style.top = (e.pageY-20+"px";}
  }
</script>

<img src="bld1.png" id="scrollbld1" style="position:absolute;left:0px;top:0px;" />
<img src="bld2.png" id="scrollbld2" style="position:absolute;right:0px;top:0px;" />
Avatar billede =maddog= Nybegynder
16. juni 2004 - 22:35 #2
Har du tænkt dig at bruge det!?! På min computer er der links jeg ikke kan trykke på fordi lortet blokerer. Næppe hensigten og helt sikkert ikke så supersmart som de selv tror det ser ud.
Avatar billede skovenborg Nybegynder
16. juni 2004 - 22:41 #3
Det kommer nok helt an på hvordan man har bygget siden op - selv har jeg ingen problemmer med at boksen blokerer for links på deres side (ud over den ikke virker i Mozilla).

Forresten har jeg lavet en ny udgave, som også scroller på den måde de gør på download...com:
<script type="text/javascript">
  var mX = mY = 0;
  var dX = dY = 0;
  var interval = 30;
  var speed = 5;
  document.onmousemove = function(e) {
          e = (!e) ? window.event : e;
          mY = (e.pageY) ? e.pageY : e.clientY;
          if (typeof window.pageYOffset == "number") {mY -= window.pageYOffset;}
  }
  function moveElm() {
          elm1 = document.getElementById("scrollbld1").style;
          elm2 = document.getElementById("scrollbld2").style;
          dY += (mY-dY)*speed/100;
          sY = (document.documentElement) ? document.documentElement.scrollTop : (window.pageYOffset) ? window.pageYOffset : 0;
          elm1.top = elm2.top = sY+dY-20+"px";
          setTimeout("moveElm();",interval);
  }
  window.onload = moveElm;



</script>

<img src="bld1.png" id="scrollbld1" style="position:absolute;left:0px;top:0px;" />
<img src="bld2.png" id="scrollbld2" style="position:absolute;right:0px;top:0px;" />
Avatar billede skovenborg Nybegynder
16. juni 2004 - 22:41 #4
og den virker til gengæld også i Mozilla ;-)
Avatar billede eksplayer Nybegynder
16. juni 2004 - 23:00 #5
Hey - tak for hjælpen - det var lige hvad jeg ledte efter - rigtig nice ;)

skovenborg: smid et svar
Avatar billede skovenborg Nybegynder
16. juni 2004 - 23:13 #6
værgso' da :-)

Er der problemmer eller andet så tag et kig på:
http://www.skovenborg.1go.dk/javascript/slidingDivs.php
Avatar billede skovenborg Nybegynder
16. juni 2004 - 23:45 #7
og tak for points :-)
Avatar billede eksplayer Nybegynder
17. juni 2004 - 07:56 #8
Lige et ekstra spg.: kan man til ovenstående kode tilføje samme funktion i top og bund af skærmen?

Skal nok oprette et mere spg. med point hvis det er...
Avatar billede skovenborg Nybegynder
17. juni 2004 - 12:12 #9
så den går frem og tilbage eller hva'? Jo, det kan godt laves - ser lidt på det
Avatar billede eksplayer Nybegynder
17. juni 2004 - 12:39 #10
Altså sådan at der er to billeder der kører op og ned (som den gør nu) og to billeder der samtidig kører fra side til side når man bevæger musen (altså fire billeder i bevægelse i alt)
Avatar billede skovenborg Nybegynder
17. juni 2004 - 13:17 #11
så prøv:
<script type="text/javascript">
  var mX = mY = 0;
  var dX = dY = 0;
  var interval = 30;
  var speed = 5;
  var offset = 20;
  var h = w = 0;
  var IDArr = [["scrollbld1","hor"],["scrollbld2","hor"],["scrollbld3","ver","top"],["scrollbld4","ver","bottom"]]; // Hor = horinzontal og Ver = vertical

  document.onmousemove = function(e) {
          e = (!e) ? window.event : e;
          mX = (e.pageX) ? e.pageX : e.clientX;
          mY = (e.pageY) ? e.pageY : e.clientY;
          if (typeof window.pageYOffset == "number") {mY -= window.pageYOffset;mX -= window.pageXOffset}
  }
  function moveElm() {
          dY += (mY-dY)*speed/100;
          dX += (mX-dX)*speed/100;
          sY = (document.documentElement) ? document.documentElement.scrollTop : (window.pageYOffset) ? window.pageYOffset : 0;
          h = (window.innerHeight) ? window.innerHeight : document.documentElement.clientHeight;
          sX = (document.documentElement) ? document.documentElement.scrollLeft : (window.pageXOffset) ? window.pageXOffset : 0;
          for (i=0;i<IDArr.length;i++) {
              if (IDArr[i][1] == "hor") {document.getElementById(IDArr[i][0]).style.top = sY+dY-offset+"px";}
              else {elm = document.getElementById(IDArr[i][0]);elm.style.left = sX+dX-offset+"px";
                    if (IDArr[i][2] == "bottom") {elm.style.top = h+sY-elm.offsetHeight+"px";}
                    else {elm.style.top = sY+"px";}
              }
          }
          setTimeout("moveElm();",interval);
  }
  window.onload = moveElm;
</script>


<body>
<img src="bld1.png" id="scrollbld1" style="position:absolute;left:0px;top:0px;width:200px" />
<img src="bld2.png" id="scrollbld2" style="position:absolute;right:0px;top:0px;width:200px" />
<img src="bld3.png" id="scrollbld3" style="position:absolute;left:0px;top:0px;width:200px;" />
<img src="bld4.png" id="scrollbld4" style="position:absolute;left:0px;top:0px;width:200px" />
Avatar billede skovenborg Nybegynder
17. juni 2004 - 13:17 #12
width behøver du dog ikke nødvendigvis at tage med
Avatar billede eksplayer Nybegynder
17. juni 2004 - 16:00 #13
Det er total i orden :) Tak for hjælpen

Du kan hente dine point her: http://www.eksperten.dk/spm/510931
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester