Foros del Web » Programando para Internet » Javascript »

cargar mensaje en DIV

Estas en el tema de cargar mensaje en DIV en el foro de Javascript en Foros del Web. Hola a todos, tengo una consulta que me gustaría resolver.... He buscado en internet y he encontrado un calendario que funciona con javascript. en un ...
  #1 (permalink)  
Antiguo 12/04/2010, 14:41
 
Fecha de Ingreso: junio-2007
Mensajes: 58
Antigüedad: 16 años, 10 meses
Puntos: 0
cargar mensaje en DIV

Hola a todos, tengo una consulta que me gustaría resolver....

He buscado en internet y he encontrado un calendario que funciona con javascript. en un archivo XML pones la informacion de cada día, y dicha informacion se muestra en el calendario. Si haces clic, se abre una ventana con la información detallada.

Lo que me gustaría a mi sería que la información, en lugar de abrirse en una ventana, se mostrara en una capa.

La estructura de la zona del calendario es esta
Código HTML:
Ver original
  1. <table width="900" border="0" align="center">
  2.   <tr>
  3.     <td width="35">&nbsp;</td>
  4.     <td width="620"><iframe height="300" width="580" name="mesos" src="calendari.html" marginheight="0" frameborder="0" marginwidth="0" scrolling="no">
  5. </iframe> // el archivo CALENDARI.HTML  contiene el CALENDARIO</td>
  6.     <td width="231"><div id="info"></div>  <!-- ESTE DIV DEBE MOSTRAR LA INFORMACION -->
  7.       <p>&nbsp;</p>
  8.       <p>&nbsp;</p>
  9.       <p>&nbsp;</p>
  10.       <p>&nbsp;</p>
  11.       <p>&nbsp;</p>
  12.       <p>&nbsp;</p>
  13.     <p id="cos">Para ver los detalles<br />
  14.       haz clic encima del día marcado.
  15.     </p></td>
  16.   </tr>

Este es el código de la página que contiene el CALENDARIO

Código HTML:
Ver original
  1. <title>calendari</title>
  2. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  3. <link href="calendario.css" rel="stylesheet" type="text/css" media="all" />
  4. <script src="calendario.js" type="text/javascript"></script>
  5. <script type="text/javascript">
  6. MesSeleccionado=0;
  7. <div id="boxcalendario">
  8. <script type="text/javascript">Calendari(0);</script>
  9. </div></body></html>


El archivo calendario.js contiene este código
Código Javascript:
Ver original
  1. var getCalendario = null;
  2. var xmlCalendario = null;
  3. var CualMes=0;
  4.  
  5. function Calendari(QueMes){
  6.     if (window.XMLHttpRequest){
  7.         getCalendario=new XMLHttpRequest()
  8.     }else if (window.ActiveXObject){
  9.         getCalendario=new ActiveXObject("Microsoft.XMLHTTP")
  10.     }
  11.     if (getCalendario){
  12.         var url="calendario.xml";
  13.         getCalendario.onreadystatechange=CambioDeEstado;
  14.         getCalendario.open("GET",url,true);
  15.         getCalendario.send(null);
  16.         CualMes=QueMes;
  17.     }else{
  18.         alert ("El teu explorador no suporta XMLHttpRequest");
  19.     }
  20. }
  21.  
  22. function CambioDeEstado(){
  23.     if (getCalendario.readyState == 4){
  24.         xmlCalendario = getCalendario.responseXML;
  25.         xmlCalendario = xmlCalendario.getElementsByTagName('activitat');
  26.         setCal(CualMes);
  27.     }
  28. }
  29.  
  30. function bisiesto(Anio) {
  31.     if (Anio % 4 == 0)
  32.     return true
  33.     return false
  34. }
  35.  
  36. function diasPorMes(mes, Anio) {
  37. var meses = new Array(12)
  38. meses[1] = 31; // Enero
  39. meses[2] = (((Anio % 4 == 0) && (Anio % 100 != 0)) || (Anio % 400 == 0)) ? 29 : 28
  40. meses[3] = 31 // Marzo
  41. meses[4] = 30 // Abril
  42. meses[5] = 31 // Mayo
  43. meses[6] = 30 // Junio
  44. meses[7] = 31 // Julio
  45. meses[8] = 31 // Agosto
  46. meses[9] = 30 // Septiembre
  47. meses[10] = 31 // Octubre
  48. meses[11] = 30 // Noviembre
  49. meses[12] = 31 // Diciembre
  50. return meses[mes]
  51. }
  52.  
  53. function getNombreDelMes(mes) {
  54. var meses = new Array(12)
  55. meses[1] = "Gener"
  56. meses[2] = "Febrer"
  57. meses[3] = "Març"
  58. meses[4] = "Abril"
  59. meses[5] = "Maig"
  60. meses[6] = "Juny"
  61. meses[7] = "Juliol"
  62. meses[8] = "Agost"
  63. meses[9] = "Setembre"
  64. meses[10] = "Octubre"
  65. meses[11] = "Novembre"
  66. meses[12] = "Desembre"
  67. return meses[mes]
  68. }
  69.  
  70. function setCal(QueMes) {
  71.     var now = new Date()
  72.     var anio = now.getYear()
  73.     if (anio < 1000) {anio+=1900}
  74.     var mes = now.getMonth()+QueMes
  75.     if (now.getMonth()+QueMes > 11) {mes-=12;anio++}
  76.     if (now.getMonth()+QueMes < 0) {mes+=12;anio--}
  77.     var fecha = now.getDate()
  78.     var primerDia = new Date(anio, mes, 1)
  79.     var primerDia2 = primerDia.getDay()
  80.     primerDia = null
  81.     var dias = diasPorMes(mes+1, anio)
  82.     drawCal(primerDia2 + 1, dias, fecha, mes+1, anio)
  83. }
  84.  
  85. function drawCal(firstDay, lastDate, date, Mes, Anio) {
  86. var now = new Date()
  87. var codigo = ""
  88. codigo += '<table class="tabla">'
  89. codigo += '<tr><td class="encabezado" colspan="7">'
  90. codigo += getNombreDelMes(Mes) + ' ' + Anio
  91. codigo += '</td></tr>'
  92.  
  93. var diasSemana = new Array(7)
  94. diasSemana[0] = "<acronym title=\"Diumenge\">&nbsp;Diumenge&nbsp;</acronym>"
  95. diasSemana[1] = "<acronym title=\"Dilluns\">&nbsp;&nbsp;&nbsp;Dilluns&nbsp;&nbsp;</acronym>"
  96. diasSemana[2] = "<acronym title=\"Dimarts\">&nbsp;&nbsp;Dimarts&nbsp;&nbsp;</acronym>"
  97. diasSemana[3] = "<acronym title=\"Dimecres\">&nbsp;Dimecres&nbsp;&nbsp;</acronym>"
  98. diasSemana[4] = "<acronym title=\"Dijous\">&nbsp;&nbsp;Dijous&nbsp;&nbsp;&nbsp;</acronym>"
  99. diasSemana[5] = "<acronym title=\"Divendres\">&nbsp;Divendres</acronym>"
  100. diasSemana[6] = "<acronym title=\"Dissabte\">&nbsp;Dissabte&nbsp;</acronym>"
  101.  
  102. codigo += '<tr>'
  103. for (var dayNum = 0; dayNum < 7; ++dayNum) {
  104. codigo += '<td class="celdaDiaSemana">' + diasSemana[dayNum] + '</td>'
  105. }
  106. codigo += '</tr>'
  107.  
  108. var cDia = 1
  109. var curCell = 1
  110.  
  111. for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
  112. codigo += '<tr>'
  113. for (var col = 1; col <= 7; ++col) {
  114. if (cDia > lastDate)
  115. break
  116. if (curCell < firstDay) {
  117. codigo += '<td></td>';
  118. curCell++
  119. } else {
  120. var textoCelda = cDia;
  121. var textoTd = '<td class="celda">'
  122.  
  123. for (i=0;i<xmlCalendario.length;i++){
  124.     var fecha = xmlCalendario[i].getAttribute('data');
  125.     if (fecha == cDia+ "-" + Mes + "-" + Anio){
  126.         var titulo = xmlCalendario[i].getAttribute('event');
  127.         var descripcion = xmlCalendario[i].getAttribute('descripcio');
  128.         textoCelda = '<a href="#" class="diacita" onclick="alert(\''+descripcion+'\');return false" title="'+titulo+'">' + cDia + '</a>'; // esta funcion quiero sustituirla para que se muestre el contenido DESCRIPCIO en la DIV INFO
  129.         textoTd = '<td class="celdacita">'
  130.     }
  131. }
  132.  
  133. if (cDia == date && Mes == now.getMonth()+1) {
  134. textoTd = '<td class="hoy">'
  135. }
  136.  
  137. codigo += textoTd + textoCelda + '</td>'
  138. cDia++
  139. }
  140. }
  141. codigo += '</tr>'
  142. }
  143.  
  144. codigo += '</table>'
  145. document.getElementById("boxcalendario").innerHTML=codigo;
  146. }

Etiquetas: mensaje
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 09:15.