View previous topic :: View next topic |
Author |
Message |
dmarusic
Joined: 15 Nov 2006 Posts: 3 Location: Varaždin
|
Posted: 06.12.2006 23:17 Post subject: DOM1 problem. |
|
|
Pozdrav!
Imam problem kod kodiranja manipulacije elementima. Koristim DOM1 za početak i imam neobičan problem i nekoliko pitanja.
Kod pokušaja čitanja vrijednosti dobivam praznu poruku (preko alert()), a očekivao bih sadržaj prethodno u CSS-u definirane vrijednosti za traženi element.
Element je div s id-om "test" i prethodno je definiran relativno za . Kod čitanja pomoću Code: | alert(document.getElementById('test').style.left) | dobivam praznu poruku umjesto očekivanih 20px. Ako prethodno pridružim neku vrijednosti istom tom elementu koristeći Code: | document.getElementById('test').style.left = 30; | , pozivanjem prethodno napisanog Alerta, dobivam vrijednost koju sam pridružio. Također se i element pomakne na točno određenu poziciju.
Ono što mi treba je kalkulacija pozicije i povećavanje pozicije za određenu vrijednost, no uz ovaj problem sam zapeo.
Hvala na pomoći, unaprijed.
DM |
_________________ Do you feel punky, luck? |
|
Back to top |
|
|
zytzagoo mi3.crew
Joined: 25 Aug 2003 Posts: 1842 Location: Zagreb, Hrvatska
|
Posted: 06.12.2006 23:23 Post subject: |
|
|
Ako taj left inicijalno definiras css-om, onda tamo nema znaka jednakosti, vec se property postavlja ovako:
Code: | #test { position: relative; left: 20px; } |
Ako je tako postavljeno, onda citanje sa style.left u javascriptu mora raditi... I to je jedini razlog koji mi ovako pada na prvu na pamet zasto ne radi...
Mozda da stavis negdje na net stranicu, pa das link, lakse bi bilo vidjeti konkretan kod i problem... |
_________________ [+]I[+]am[+]my[+]own[+]religion[+] |
|
Back to top |
|
|
dmarusic
Joined: 15 Nov 2006 Posts: 3 Location: Varaždin
|
Posted: 06.12.2006 23:40 Post subject: |
|
|
Ma jasno da nije = nego :
Nemam gdje staviti na web u ovom trenutku. Evo sve.
Code: | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>kattd dev</title>
<style type="text/css">
<!--
*
{
margin: 0;
padding: 0;
border: 0;
}
.box
{
background-image: url(pozadina1.gif);
background-repeat: no-repeat;
width: 180px;
height: 57px;
}
.bodyx
{
position: relative;
background-image: url(bodyxback.gif);
background-repeat: no-repeat;
width: 158px;
height: 17px;
top: 28px;
left: 11px;
}
.item
{
border: 0;
position: relative;
top: 20px;
left: 21px;
}
-->
</style>
<script language="JavaScript" type="text/javascript">
function movtest()
{
// document.getElementById('groups_item').style.left = 33;
alert(document.getElementById('groups_item').style.left);
document.getElementById('groups_item').style.left = 34+11;
}
</script>
</head>
<body>
<div id="groups_box" class="box">
<div id="groups_bodyx" class="bodyx">
</div>
<div id="groups_item" class="item"><a onclick="movtest()"><img src="item.gif" width="6" height="10" alt="strelica" /></a></div>
</div>
</body>
</html> |
|
_________________ Do you feel punky, luck? |
|
Back to top |
|
|
zytzagoo mi3.crew
Joined: 25 Aug 2003 Posts: 1842 Location: Zagreb, Hrvatska
|
Posted: 07.12.2006 00:11 Post subject: |
|
|
http://www.quirksmode.org/dom/getstyles.html wrote: | The style property only reflects the inline styles of an element, so if you want to read out other styles you have to resort to other means. |
http://www.quirksmode.org/dom/getstyles.html
Ili style definiraj inline, ili uzmi getStyles skriptu sa quirksmode-a koja moze citati i stilove koju su postavljeni drugim metodama... |
_________________ [+]I[+]am[+]my[+]own[+]religion[+] |
|
Back to top |
|
|
dmarusic
Joined: 15 Nov 2006 Posts: 3 Location: Varaždin
|
Posted: 07.12.2006 00:43 Post subject: |
|
|
Hvala lijepa i laku noć!
DM |
_________________ Do you feel punky, luck? |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 07.12.2006 00:44 Post subject: |
|
|
Ne možeš čitati style.bilošto property na elementu koji je te property-e dobio od stylesheeta (nisu bili inline)
Code: | var property = 'left'
var css = document.defaultView.getComputedStyle(element, null);
var value = css ? css.getPropertyValue(property) : null;
|
EDIT: baš sam spor |
|
|
Back to top |
|
|
|