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); }); }); });