Foros del Web » Programando para Internet » Javascript »

document.getElementById

Estas en el tema de document.getElementById en el foro de Javascript en Foros del Web. Hola, soy nueva en este foro Estoy haciendo un sistema en el cual mando llamar una función en javascript, y le mando un document.getElementById("Nom_Div"), pero ...
  #1 (permalink)  
Antiguo 08/01/2008, 15:23
 
Fecha de Ingreso: enero-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 3
document.getElementById

Hola, soy nueva en este foro

Estoy haciendo un sistema en el cual mando llamar una función en javascript, y le mando un document.getElementById("Nom_Div"), pero en IE me manda el Object y en netscape me manda Object HTMLDivElement, asi que dicha función si funciona en IE pero en netscape no.


Que debo ponerle para que me mande el Object

Espero que me puedan ayudar, gracias
  #2 (permalink)  
Antiguo 08/01/2008, 15:54
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: document.getElementById

Hola Betina232022, bienvenida a los foros :

Los elementos div en los navegadores estándar devuelven lo que ves en netscape, y en explorer todos los tags los considera objetos... ya irás conociendo las diferencias entre los distintos navegadores, pero no te preocupes que vas bien.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 08/01/2008, 15:54
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: document.getElementById

Hola Betina232022. Bienvenida al foro.

Que yo sepa getElementById funciona bien en todos los navegadores. Explica qué es lo que quieres hacer y a lo mejor podemos orientarte.

Edito: hacía tiempo que no chocábamos caricatos
Saludos,
  #4 (permalink)  
Antiguo 09/01/2008, 08:46
 
Fecha de Ingreso: enero-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 3
Re: document.getElementById

Les agradezco mucho que me contestarán.

Espero que me sepa explicar.

La función en javascript hace que lo que esta dentro del div que mando lo muestre en una tabla con barras de desplazamiento propias.

esta es la función:


<script>
var divContent = null;
var divHeaderRow = null;
var divHeaderColumn = null;
var divHeaderRowColumn = null;
var headerRowFirstColumn = null;
var x;
var y;
var z;
var horizontal = false;
var vertical = false;
var height;
function CreateScrollHeader(content, scrollHorizontal, scrollVertical, numElem)
{
horizontal = scrollHorizontal;
vertical = scrollVertical;

if (content != null)
{

divContent = content;

var headerRow = divContent.childNodes[0].childNodes[0].childNodes[0];
x = divContent.childNodes[0].offsetWidth;
y = divContent.childNodes[0].offsetHeight;
divHeaderRow = divContent.cloneNode(true);
z = x;
if (horizontal)
{
divHeaderRow.style.height = headerRow.offsetHeight;
divHeaderRow.style.overflow = "hidden";
divContent.parentNode.insertBefore(divHeaderRow, divContent);
divContent.childNodes[0].style.position = "relative";
divContent.childNodes[0].style.top = "-" + headerRow.offsetHeight;
y = y - headerRow.offsetHeight;
}
divHeaderRowColumn = divHeaderRow.cloneNode(true);
headerRowFirstColumn = headerRow.childNodes[0];
divHeaderColumn = divContent.cloneNode(true);
divContent.style.position = "relative";
if (vertical)
{
divContent.parentNode.insertBefore(divHeaderColumn , divContent);
divContent.style.left = headerRowFirstColumn.offsetWidth;
divContent.childNodes[0].style.position = "absolute";
divContent.childNodes[0].style.left = "-" + headerRowFirstColumn.offsetWidth;
}
else
{
divContent.style.left = 0;
}
if (vertical)
{
divHeaderColumn.style.width = headerRowFirstColumn.offsetWidth;
divHeaderColumn.style.overflow = "hidden";
divHeaderColumn.style.zIndex = "99";
divHeaderColumn.style.position = "absolute";
divHeaderColumn.style.left = "0";
addScrollSynchronization(divHeaderColumn, divContent, "vertical");
x = x - headerRowFirstColumn.offsetWidth;
}
if (horizontal)
{
if (vertical)
{
divContent.parentNode.insertBefore(divHeaderRowCol umn, divContent);
}
divHeaderRowColumn.style.position = "absolute";
divHeaderRowColumn.style.left = "0";
divHeaderRowColumn.style.top = "0";
divHeaderRowColumn.style.width = headerRowFirstColumn.offsetWidth ;
divHeaderRowColumn.overflow = "hidden";
divHeaderRowColumn.style.zIndex = "100";
divHeaderRowColumn.style.backgroundColor = "#ffffff";
}
if (horizontal)
{
addScrollSynchronization(divHeaderRow, divContent, "horizontal");
}
if (horizontal || vertical)
{
window.onresize = ResizeScrollArea;
ResizeScrollArea(numElem);
if (y >= document.documentElement.clientHeight)
{
document.getElementById("pie").style.top = height + headerRow.offsetHeight;
document.getElementById("pie2").style.top = height + headerRow.offsetHeight;
document.getElementById("pie2").style.left = - 7;
document.getElementById("pie2").style.widht = x - 35;
}
else
{
if (numElem >= 17)
{
document.getElementById("pie").style.top = height + headerRow.offsetHeight;
document.getElementById("pie2").style.top = height + headerRow.offsetHeight;
}
else
{
document.getElementById("pie").style.top = y + headerRow.offsetHeight;
document.getElementById("pie2").style.top = y + headerRow.offsetHeight;
}
document.getElementById("pie2").style.left = - 7;
document.getElementById("pie2").style.widht = x - 35;
}
}
else
{
document.getElementById("pie").style.top=y;
document.getElementById("pie2").style.top=y;
document.getElementById("pie2").style.left=-7;
document.getElementById("pie2").style.widht=x-35;
}
}
}
function ResizeScrollArea(nElem)
{
if (nElem >=17) {
height = document.documentElement.clientHeight - 270;
}
else
{
height = document.documentElement.clientHeight;
}
if (!vertical)
{
height -= divHeaderRow.offsetHeight;
}
var width = document.documentElement.clientWidth - 50;
if (!horizontal)
{
width -= divHeaderColumn.offsetWidth;
}
var headerRowsWidth = 0;
divContent.childNodes[0].style.width = x;
divContent.childNodes[0].style.height = y;
if (divHeaderRowColumn != null)
{
headerRowsWidth = divHeaderRowColumn.offsetWidth;
}
if (divContent.childNodes[0].offsetWidth > width)
{
divContent.style.width = Math.max(width - headerRowsWidth, 0);
divContent.style.overflowX = "scroll";
divContent.style.overflowY = "auto";
}
else
{
divContent.style.width = x;
divContent.style.overflowX = "auto";
divContent.style.overflowY = "auto";
}
if (divHeaderRow != null)
{
divHeaderRow.style.width = divContent.offsetWidth + headerRowsWidth;
}
if (divContent.childNodes[0].offsetHeight > height)
{
divContent.style.height = Math.max(height, 80);
divContent.style.overflowY = "scroll";
}
else
{
divContent.style.height = y;
divContent.style.overflowY = "hidden";
}
if (divHeaderColumn != null)
{
divHeaderColumn.style.height = divContent.offsetHeight;
}
if (divContent.style.overflowY == "scroll")
{
divContent.style.width = divContent.offsetWidth + 17;
}
if (divContent.style.overflowX == "scroll")
{
divContent.style.height = divContent.offsetHeight + 17;
}
divContent.parentElement.style.width = divContent.offsetWidth + headerRowsWidth;
}
function getOnScrollFunction(oElement) {
return function () {
if (oElement._scrollSyncDirection == "horizontal" || oElement._scrollSyncDirection == "both")
oElement.scrollLeft = event.srcElement.scrollLeft;
if (oElement._scrollSyncDirection == "vertical" || oElement._scrollSyncDirection == "both")
oElement.scrollTop = event.srcElement.scrollTop;
};
}
function addScrollSynchronization(fromElement, toElement, direction) {
removeScrollSynchronization(fromElement);
fromElement._syncScroll = getOnScrollFunction(fromElement);
fromElement._scrollSyncDirection = direction;
fromElement._syncTo = toElement;
toElement.attachEvent("onscroll", fromElement._syncScroll);
}
function removeScrollSynchronization(fromElement) {
if (fromElement._syncTo != null)
fromElement._syncTo.detachEvent("onscroll", fromElement._syncScroll);
fromElement._syncTo = null;
fromElement._syncScroll = null;
fromElement._scrollSyncDirection = null;
}
</script>


Gracias nuevamente

Saludos
  #5 (permalink)  
Antiguo 09/01/2008, 11:27
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: document.getElementById

Hola:

Los estilos de posicionamiento en explorer pueden carecer de medidas y las considera píxeles, pero en los navegadores estándar deben especificarse, o sea que cuando pones:

divContent.style.width = divContent.offsetWidth + 17;

... debes poner detrás + "px" indicando que se trata de pixeles... y así todos los estilos sobre tamaño o posicionamiento...

Revisa esos detalles, y de paso échale un vistazo a mi firma.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 10/01/2008, 06:49
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Re: document.getElementById

Por eso ... deja que eso lo solucione un frameWork.
__________________
| Cabeza De Raton |
  #7 (permalink)  
Antiguo 08/02/2008, 10:53
 
Fecha de Ingreso: enero-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 3
Re: document.getElementById

Hola

Tengo la misma función que puse anteriormente, pero no se visualiza bien en IE7.

Espero que me puedan ayudar a encontrar el error.

gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:36.