Historic Castle
About This Attraction
Château dAnnecy is a historic castle located in the picturesque town of Annecy in southeastern France. Originally built between the 12th and 16th centuries, this castle served as the residence for the Counts of Geneva. Today, it functions as a museum offering insights into regional history, art, and culture. Visitors can explore various exhibits that showcase medieval sculptures, modern art, and local artifacts.
When planning a visit, its helpful to know the Château dAnnecy opening hours. Typically, the castle is open daily except on holidays like Christmas Day and New Years Day. The hours may vary slightly depending on the season, so checking ahead is advisable. This destination provides not only cultural enrichment but also stunning views of Lake Annecy and the surrounding mountains.
Location Details
Address
Place du Château, 74000 Annecy, France
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
7.50 EUR
Child
4.00 EUR
Student
6.00 EUR
Senior
6.00 EUR
Opening Hours & Booking
Open
Days
Tuesday to Sunday
Hours
10:30 AM to 6:00 PM
Seasonality
Closed in January
Booking
Booking Required?
No
Nearby Attractions
Jardins de lEurope in Annecy is a picturesque park located on the shores of Lake…
Learn More
Lake Annecy is located in the Haute-Savoie region of France, near the city of Annecy.…
Learn More
Èze Village is a charming medieval village located on the French Riviera, situated between Nice…
Learn More
Marché Forville is a popular market located in the heart of Cannes, France. Known for…
Learn More
Le Suquet is the oldest district of Cannes, offering a glimpse into the citys past…
Learn More
The Palais des Festivals in Cannes is a world-renowned venue situated on the French Riviera.…
Learn More
La Croisette in Cannes is a famous boulevard that stretches along the Mediterranean Sea. Known…
Learn More
Arles Amphitheatre, located in the city of Arles in southern France, is a well-preserved Roman…
Learn More
The Van Gogh Foundation in Arles is dedicated to celebrating the works and legacy of…
Learn More
The Alyscamps in Arles is a significant ancient necropolis that dates back to Roman times.…
Learn More
";
}
// Initialize modal controls
const initModalControls = function() {
console.log('Initializing modal controls');
const modal = document.getElementById('attraction-modal');
const closeBtn = document.querySelector('.attraction-modal-close');
if (closeBtn) {
closeBtn.addEventListener('click', function() {
modal.style.display = 'none';
document.body.style.overflow = '';
});
}
window.addEventListener('click', function(event) {
if (event.target === modal) {
modal.style.display = 'none';
document.body.style.overflow = '';
}
});
// Make attraction cards clickable
const attractionCards = document.querySelectorAll('.attraction-card');
console.log('Found ' + attractionCards.length + ' attraction cards');
attractionCards.forEach(card => {
card.addEventListener('click', function(e) {
openModalWithCardData(this);
});
});
};
// Function to open modal with card data
const openModalWithCardData = function(card) {
// Get data from hidden div
const data = card.querySelector('.attraction-full-data');
if (!data) {
console.error('No attraction data found in card');
return;
}
const modal = document.getElementById('attraction-modal');
if (!modal) {
console.error('Modal element still not found after creation attempt');
return;
}
// Helper function to safely get element text
function getElementText(selector) {
const element = data.querySelector(selector);
return element ? element.textContent : '';
}
try {
// Basic Info
document.getElementById('attraction-modal-title').textContent = getElementText('.attraction-name');
document.getElementById('attraction-modal-type').textContent = getElementText('.attraction-type-full');
document.getElementById('attraction-modal-description').textContent = getElementText('.attraction-description-full');
// Reset all containers to hidden
['attraction-modal-hours-container', 'attraction-modal-price-container',
'attraction-modal-address-container', 'attraction-modal-image-container'].forEach(id => {
const container = document.getElementById(id);
if (container) container.style.display = 'none';
});
// Rating
const ratingText = getElementText('.attraction-rating-full');
if (ratingText) {
const ratingValue = parseFloat(ratingText);
if (!isNaN(ratingValue)) {
const ratingValueEl = document.getElementById('attraction-modal-rating-value');
const ratingFillEl = document.getElementById('attraction-modal-rating-fill');
if (ratingValueEl) ratingValueEl.textContent = ratingValue.toFixed(1) + '/10';
if (ratingFillEl) ratingFillEl.style.width = (ratingValue * 10) + '%';
}
}
// Show the modal
modal.style.display = 'block';
document.body.style.overflow = 'hidden'; // Prevent background scrolling
console.log('Modal opened successfully');
} catch (error) {
console.error('Error opening modal:', error);
}
};
// Try to create the modal
const created = createModal();
console.log('Modal created:', created);
// If not created (already exists), initialize the controls
if (!created) {
initModalControls();
}
// Also initialize distance toggle
const distanceToggle = document.getElementById('distance-unit-toggle');
if (distanceToggle) {
distanceToggle.addEventListener('change', function() {
const showKm = this.checked;
// Update toggle labels
const labels = document.querySelectorAll('.toggle-label');
if (labels.length >= 2) {
labels[0].style.opacity = showKm ? '0.5' : '1';
labels[1].style.opacity = showKm ? '1' : '0.5';
}
// Update all distance displays
document.querySelectorAll('.nearby-attraction-card').forEach(card => {
const kmEl = card.querySelector('.distance-km');
const miEl = card.querySelector('.distance-mi');
if (kmEl && miEl) {
kmEl.style.display = showKm ? 'inline' : 'none';
miEl.style.display = showKm ? 'none' : 'inline';
}
});
});
}
});