Cathedral
About This Attraction
Zadar Cathedral, officially known as the Cathedral of St. Anastasia, is the largest church in Dalmatia and can be found in the heart of Zadar, Croatia. Its architectural style is a blend of Romanesque and Gothic elements, reflecting its long history that dates back to the 9th century. Visitors often admire its impressive façade and detailed stone carvings. The interior houses relics of St. Anastasia, adding to its historical significance.
For those planning a visit, its important to note the Zadar Cathedral opening hours, which vary depending on the season. Typically, it opens daily with extended hours during peak tourist months. The cathedral is not only a place for worship but also a venue for classical music concerts due to its excellent acoustics. This makes it a popular stop for tourists exploring the cultural heritage of Zadar.
Location Details
Address
Trg Svete Stošije, 23000 Zadar, Croatia
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
Free
Child
Free
Student
Free
Senior
Free
Opening Hours & Booking
Open
Days
Monday to Saturday
Hours
8:00 AM to 6:00 PM
Seasonality
Closed on Sundays and public holidays
Booking
Booking Required?
No
Nearby Attractions
The Sea Organ in Zadar, Croatia, is an architectural marvel that combines art and nature.…
Learn More
St. Stephens Cathedral is a prominent historical site located in the heart of Hvar, Croatia.…
Learn More
The Riva Promenade in Split is a popular waterfront area known for its scenic views…
Learn More
St. Marks Cathedral in Korčula is a notable example of Dalmatian architecture and serves as…
Learn More
The Roman Forum in Zadar is a historic site dating back to the 1st century…
Learn More
Marjan Hill is a popular recreational spot in Split, Croatia, offering stunning panoramic views of…
Learn More
The Blue Cave on the island of Vis is a popular natural attraction known for…
Learn More
Diocletians Palace in Split, Croatia, is a historic site built for the Roman Emperor Diocletian…
Learn More
Vis Town is located on the island of Vis in Croatia and is one of…
Learn More
The Pakleni Islands are a picturesque group of islands located off the coast of Hvar,…
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';
}
});
});
}
});