javascript funciona en firefox 3.6 y en IE8 no -.-

Iniciado por mark182, 28 Junio 2010, 03:20 AM

0 Miembros y 1 Visitante están viendo este tema.

mark182

Hola como esta? encontre un script de un calendario que es perfecto para lo que estoy haciendo, el problema es el siguiente, primero les dejo la pagina con el calendario para que me sigan un poco mejor http://www.historia-virtual.com.ar. Bien paso a explicar, como pueden ver hay algunos dias que tienen eventos y cuando te paras con el mouse arriba de cada dia con evento, aparece el titulo del evento con la descripcion, esto solo sucede haci en firefox pero en IE8 solo me aparece el titulo del evento, por que es esto? que es lo que tengo que hacer?  :-\

Les dejo el codigo:


<?php

include("Clases/ConexionBD.php");

$conexion= new ConexionBD("mysql14.000webhost.com","regist");

//check if time is set in the URL
if(isset($_GET['time']))
$time $_GET['time'];
else
$time time();


$today date("Y/n/j"time());

$current_month date("n"$time);

$current_year date("Y"$time);

$current_month_text date("m"$time);

$next_month mktime(0,0,0,$current_month+1,1,$current_year);
$next_month_text date("m"$next_month);

$previous_month mktime(0,0,0,$current_month-1,1,$current_year);
$previous_month_text date("F \'y"$previous_month);

$next_year mktime(0,0,0,$current_month,1,$current_year+1);
$next_year_text date("F \'y"$next_year);

$previous_year mktime(0,0,0,$current_month,1,$current_year-1);
$previous_year_text date("F \'y"$previous_year);

switch(
$current_month_text)
{
    case 
1:
        
$current_month_text "Enero";
        break;
    case 
2
        
$current_month_text "Febrero";
        break;
    case 
3
        
$current_month_text "Marzo";
        break;
    case 
4
        
$current_month_text "Abril";
        break;
    case 
5
        
$current_month_text "Mayo";
        break;
    case 
6
        
$current_month_text "Junio";
        break;
    case 
7:
        
$current_month_text "Julio";
$next_month_text "Julio";
        break;
    case 
8
        
$current_month_text "Agosto";
        break;
    case 
9
        
$current_month_text "Septiembre";
        break;
    case 
10
        
$current_month_text "Octubre";
        break;
    case 
11
        
$current_month_text "Noviembre";
        break;
    case 
12
        
$current_month_text "Diciembre";
        break; 
}

$total_days_of_current_month date("t"$time);

$events = array();


$result mysql_query("SELECT DATE_FORMAT(diaEvento,'%d') AS day,contenidoEvento,tituloEvento FROM calendario WHERE diaEvento BETWEEN  '$current_year/$current_month/01' AND '$current_year/$current_month/$total_days_of_current_month'");

while(
$row_event mysql_fetch_object($result))
{
$events[intval($row_event->day)] .= '<li><span class="title">'.stripslashes($row_event->tituloEvento).'</span><span class="desc">'.stripslashes($row_event->contenidoEvento).'</span></li>';
}


$first_day_of_month mktime(0,0,0,$current_month,1,$current_year);


$first_w_of_month date("w"$first_day_of_month);

$total_rows ceil(($total_days_of_current_month $first_w_of_month)/7);

$day = -$first_w_of_month;

?>

        <div id="calendario">
        <table id="tabla-calendario" cellspacing="0">
            <thead>
            <tr><th id="mes" colspan="7"><?php echo $current_month_text;?>&nbsp;<?php echo $current_year;?></th></tr>
            <tr>
                <th>Dom</th>
                <th>Lun</th>
                <th>Mar</th>
                <th>Mie</th>
                <th>Jue</th>
                <th>Vie</th>
                <th>Sab</th>
            </tr>
            </thead>
            <tr>
                <?php
                
for($i=0$i$total_rows$i++)
                {
                    for(
$j=0$j<7;$j++)
                    {
                        
$day++;
                        
                        if(
$day>&& $day<=$total_days_of_current_month)
                        {
                            
                            
$date_form "$current_year/$current_month/$day";
                            
                            echo 
'<td';
                            
                            
                            if(
$date_form == $today)
                            {
                                echo 
' class="today"';
                            }
                            
                            
                            if(
array_key_exists($day,$events))
                            {
                                
                                echo 
' class="date_has_event"> '.$day;
                                
                                echo 
'<div class="events"><ul>'.$events[$day].'</ul></div>';
                            }
                            else 
                            {
                                echo 
'> '.$day;
                            }
                            
                            echo 
"</td>";
                        }
                        else 
                        {
                            echo 
'<td class="padding">&nbsp;</td>';
                        }
                    }
                    echo 
"</tr><tr>";
                }
                
                
?>

            </tr>
            <tfoot>
                <th>
                    <a href="<?=$_SERVER['PHP_SELF']?>?time=<?=$previous_year?>" title="Año Anterior">&laquo;&laquo;</a>
                </th>
                <th>
                    <a href="<?=$_SERVER['PHP_SELF']?>?time=<?=$previous_month?>" title="Mes Anterior">&laquo;</a>
                </th>
                <th>&nbsp;</th>
                <th>&nbsp;</th>
                <th>&nbsp;</th>
                <th>
                    <a href="<?=$_SERVER['PHP_SELF']?>?time=<?=$next_month?>" title="Mes Siguiente">&raquo;</a>
                </th>
                <th>
                    <a href="<?=$_SERVER['PHP_SELF']?>?time=<?=$next_year?>" title="Año Siguiente">&raquo;&raquo;</a>
                </th>
                <tr><th id="ocultar" colspan="7"><a href="#">Ocultar Calendario</a></th></tr>
            </tfoot>
        </table>
        </div>



*Aca el codigo de el script de javascript


$(function () {
$('.date_has_event').each(function () {
// options
var distance = 10;
var time = 25;
var hideDelay = 500;

var hideDelayTimer = null;

// tracker
var beingShown = false;
var shown = false;

var trigger = $(this);
var popup = $('.events ul', this).css('opacity', 0);

// set the mouseover and mouseout on both element
$([trigger.get(0), popup.get(0)]).mouseover(function () {
// stops the hide event if we move from the trigger to the popup element
if (hideDelayTimer) clearTimeout(hideDelayTimer);

// don't trigger the animation again if we're being shown, or already visible
if (beingShown || shown) {
return;
} else {
beingShown = true;

// reset position of popup box
popup.css({
top: 20,
left: -76,
display: 'none',
'z-index': 1000,
position: 'absolute',
display: 'block' // brings the popup back in to view
})

// (we're using chaining on the popup) now animate it's opacity and position
.animate({
bottom: '+=' + distance + 'px',
opacity: 1
}, time, 'swing', function() {
// once the animation is complete, set the tracker variables
beingShown = false;
shown = true;
});
}
}).mouseout(function () {
// reset the timer if we get fired again - avoids double animations
if (hideDelayTimer) clearTimeout(hideDelayTimer);

// store the timer so that it can be cleared in the mouseover if required
hideDelayTimer = setTimeout(function () {
hideDelayTimer = null;
popup.animate({
bottom: '-=' + distance + 'px',
opacity: 0
}, time, 'swing', function () {
// once the animate is complete, set the tracker variables
shown = false;
// hide the popup entirely after the effect (opacity alone doesn't do the job)
popup.css('display', 'none');
});
}, hideDelay);
});
});
});