Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Sivun osien liikutus JS:lla

Triton [06.11.2008 18:44:15]

#

Joillakin sivuilla on esim. sellaisia toiminnallisuuksia JS:llä tehty, että hiirellä pystyy vaikka liikuttelemaan sivulla olevaa kuvaa tai tekstilaatikkoa ym., niin miten tälläisiä toiminnallisuuksia saadaan aikaan?

Metabolix [06.11.2008 18:49:04]

#

Ota jokin sellainen sivu ja katso lähdekoodista, siitähän se selviää. Yleensä CSS-tyyli "position: relative" tai jopa "position: absolute" yhdessä left- ja top-arvojen kanssa auttaa elementin sijainnin asettamisessa.

Onko jokin erityinen kohta, jota et ymmärrä?

OskariB [06.11.2008 20:49:41]

#

jQueryllähän tämä luonnistuu suhteellisen vaivattomasti. Käy vilkaisemassa jQueryn Draggables-dokumentaatiota osoitteessa http://docs.jquery.com/UI/Draggables

Osoitteesta http://interface.eyecon.ro/demos/drag.html löytyypi demoa.

peg [07.11.2008 00:22:32]

#

Tai vaikka näin:
luo pics kansio ja lisää koodissa olevat kuvat .gif sinne.
malli: http://fidisk.fi/u/jaanakur/saku/liikuta.php

<HEAD>

<SCRIPT LANGUAGE="JavaScript">


<!-- Begin
N = (document.all) ? 0 : 1;
var ob;
function MD(e) {
if (N) {
ob = document.layers[e.target.name];
X=e.x;
Y=e.y;
return false;
}
else {
ob = event.srcElement.parentElement.style;
X=event.offsetX;
Y=event.offsetY;
   }
}
function MM(e) {
if (ob) {
if (N) {
ob.moveTo((e.pageX-X), (e.pageY-Y));
}
else {
ob.pixelLeft = event.clientX-X + document.body.scrollLeft;
ob.pixelTop = event.clientY-Y + document.body.scrollTop;
return false;
      }
   }
}
function MU() {
ob = null;
}

if (N) {
document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
}
document.onmousedown = MD;
document.onmousemove = MM;
document.onmouseup = MU;
//  End -->
</script>
</HEAD>

<!-- STEP TWO: Copy this code into the BODY of your HTML document  -->

<BODY>

<div id="p" style="position:absolute;left:50;top:300;">
<img src=../pics/pata.gif name="p">
</div>

<div id="r" style="position:absolute;left:50;top:350;">
<img src=../pics/ruutu.gif name="r">
</div>

<div id="c" style="position:absolute;left:100;top:300;">
<img src=../pics/risti.gif name="c">
</div>

<div id="h" style="position:absolute;left:100;top:350;">
<img src=../pics/hertta.gif name="h">
</div>

<div id="a" style="position:absolute;left:50;top:200;">
<img src=../pics/pa.gif name="a">
</div>

<div id="b" style="position:absolute;left:50;top:250;">
<img src=../pics/ru.gif name="b">
</div>

<div id="d" style="position:absolute;left:100;top:200;">
<img src=../pics/ri.gif name="d">
</div>

<div id="e" style="position:absolute;left:100;top:250;">
<img src=../pics/he.gif name="e">
</div>

<div id="x" style="position:absolute;left:50;top:100;">
<img src=../pics/pa.gif name="a">
</div>

<div id="y" style="position:absolute;left:50;top:150;">
<img src=../pics/ru.gif name="b">
</div>

<div id="z" style="position:absolute;left:100;top:100;">
<img src=../pics/ri.gif name="d">
</div>

<div id="q" style="position:absolute;left:100;top:150;">
<img src=../pics/he.gif name="e">
</div>
klikkaa jotakin maata, vedä ja pudota haluamaasi paikkaan.<br>
Käytäthän IE 7 selainta.

TeNDoLLA [07.11.2008 14:42:00]

#

Mitä hyötyä tuosta jos on pakko käyttää IE:tä? Itse en ainakaan jäisi selailemaan sivuille jos olisi pakko käyttää jotain tiettyä selainta, jos selain sattuisi olemaan semmoinen, jota en käytä. Kuten esim. IE.

edit: tai siis tietenkin onhan tuosta vaikka mitä hyötyä varmasti esim. opettelu mielessä tai laajennettaessa toimimaan muissakin versioissa. Mutta en näkisi tuota kovinkaan toimivana ratkaisuna jos toimii yhdessä selaimessa (en testannu toimisko muissa kun IE voi toimiakin). Ainakaan firefoxissa ei toiminut.

Frutti [08.11.2008 19:35:15]

#

https://www.ohjelmointiputka.net/keskustelu/18112-php-javascript

Tuolta, jos jaksat lähdekoodin ja sieltä vaan ettiä osoitteet.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta