La página web con el calendario es la siguiente http://mrparty.es/eventos.php
En eventos.php tengo este código
Código:
y carga este contenido, la primera vez es un include normal, pero luego segun cambio de mes lo carga por ajax <div id="calendariomes">
<?php include('includes/carga-calendario.php');?>
</div>
Código:
el calendario es una clase que no la voy a poner porque es muy larga pero digamos que construye todo el calendario. Solo pongo el enlace para que veais que llamo a la función.<?php
include_once('includes.php');
?>
<?php
include('calendar.php');
if (isset($_GET['mes'])){
$mes = $_GET['mes'];
}else{
$mes = date('Y-m-j');
//$mes = "14-08-2012";
}
$calendar = new Calendar($mes);
setlocale(LC_ALL, 'es_ES'); // Spanish
$calendar->week_start = 1;
$compruebo_eventos = dame_lista('eventos','ev_id',0,'ev_activo=1','ev_fecha DESC');
$cc_eventos = count($compruebo_eventos);
for($y=0;$y<$cc_eventos;$y++){
$dias_eventos[] = dame_campo('eventos','ev_fecha','ev_id='.$compruebo_eventos[$y]);
}
$calendar->highlighted_dates = $dias_eventos;
print($calendar->output_calendar());
?>
Código:
y la función para sacar información de cada día, que es lo que falla al cambiar d mes es la siguiente onclick=\"cargarCalendario('".date("Y-m-d", strtotime("$mes -1 month"))."')\"
Código:
Espero que podais solucionarme el problema, por lo que he buscado por internet hablan de algo como .live pero la verdad es que ando perdidísimo en js, un saludo! $(function () {
$('.date_has_event').each(function () {
// options
var distance = 10;
var time = 250;
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({
bottom: 20,
left: -76,
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);
});
});
});


