Town
About This Attraction
Malcesine is a picturesque town located on the eastern shore of Lake Garda in Italy. Known for its stunning medieval architecture, the town features a well-preserved castle, Castello Scaligero, which offers panoramic views of the lake and surrounding mountains. Visitors can explore the towns charming narrow streets full of shops and cafes. Malcesine opening hours vary depending on the season, so its advisable to check local listings when planning a visit.
The town is also a popular spot for outdoor activities like hiking, biking, and water sports. The Monte Baldo cable car provides easy access to mountain trails and breathtaking scenery. In addition to natural beauty, Malcesine hosts various cultural events throughout the year. Travelers can easily reach Malcesine by car or public transportation from nearby cities like Verona and Milan.
Location Details
Address
Malcesine, Province of Verona, Italy
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
10
Child
5
Student
8
Senior
8
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
9:00 AM to 6:00 PM
Seasonality
April to October
Booking
Booking Required?
No
Nearby Attractions
Monte Baldo is a mountain range located near Lake Garda in northern Italy, offering stunning…
Learn More
Scaliger Castle is a significant historical site located in Sirmione, a town on the southern…
Learn More
Gardaland, located near Lake Garda in Italy, is one of the countrys largest and most…
Learn More
Sirmione is a charming town located on the southern shore of Lake Garda in Italy.…
Learn More
La Rocca in Cefalu is a prominent limestone promontory offering visitors stunning views of the…
Learn More
The Grand Canal is the main waterway in Venice, Italy, stretching approximately 3.8 kilometers through…
Learn More
The Rialto Bridge is one of Venices most iconic landmarks, spanning the Grand Canal in…
Learn More
St. Marks Basilica in Venice is a stunning example of Italo-Byzantine architecture, located in the…
Learn More
Palazzo Ducale in Genoa is a historic building that once served as the residence of…
Learn More
The Doges Palace in Venice is an iconic historic site that once served as the…
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';
}
});
});
}
});