Object.prototype probléma IE alatt
Szeretném, ha obj.getX() formában le tudnám kérdezni a html elemek pozícióit. Az én gondolatomban ez nagyon egyszerű, íme a pár soros forrás teszteléshez:Ez mindenhol működik, de IE-ben hibát ad, mondván "Az objektum nem támogatja ezt a tulajdonságot vagy metódust". A kérdésem egyrészt, hogy most én csináltam vmi hülyeséget, vagy IE bug? Hogyan tudnám célomat elérni?
Itt rögtön tesztelheted is: http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_splice . Könnyebb másolhatóság érdekében szinezés nélkül is bemásolom:
<html>
<body>
<div id="a">Ez egy teszt</div>
<script type="text/javascript">
Object.prototype.getX = function() {
obj = this;
left = 0;
if (obj.offsetParent) {
do {
left += obj.offsetLeft;
} while (obj = obj.offsetParent);
}
return left;
}
document.write(document.getElementById('a').getX()+'px');
</script>
</body>
</html>
■
<html>
<body>
<div id="a">Ez egy teszt</div>
<script type="text/javascript">
Object.prototype.getX = function() {
obj = this;
left = 0;
if (obj.offsetParent) {
do {
left += obj.offsetLeft;
} while (obj = obj.offsetParent);
}
return left;
}
document.write(document.getElementById('a').getX()+'px');
</script>
</body>
</html>
Itt rögtön tesztelheted is: http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_splice . Könnyebb másolhatóság érdekében szinezés nélkül is bemásolom:
<html>
<body>
<div id="a">Ez egy teszt</div>
<script type="text/javascript">
Object.prototype.getX = function() {
obj = this;
left = 0;
if (obj.offsetParent) {
do {
left += obj.offsetLeft;
} while (obj = obj.offsetParent);
}
return left;
}
document.write(document.getElementById('a').getX()+'px');
</script>
</body>
</html>
HTMLElement ie
üdv Csaba
ui: ill prototype.js-ben 'Element.extend = (function() {' -re
Aha, persze :P
Ui: A 12. sorban a program duplázta meg az 'obj'-et, én 1-et írtam oda. Természetesen helyesen: while(obj = obj.offsetParent);
re :P hamár jQuery
:)))
üdv Csaba
verboten
Lásd: http://erik.eae.net/archives/2005/06/06/22.13.54/
Nem tudom, hogy pontosan mi is a fontos..
Azonban, ha a vél az érték visszakapása (ez esetben a pozíció), akkor ezt ajánlom: jQuery Dimensions Plugin 1.1.
Minden jót!