Historical Site
About This Attraction
The Imperial City in Hue is a fascinating historical site in Vietnam, known for its role as the former imperial capital. The city was built in the early 19th century and served as the political, cultural, and religious center of the Nguyen Dynasty. Visitors can explore various structures within the complex, including palaces, temples, walls, and gates, all showcasing traditional Vietnamese architecture. The site is open to the public, with Imperial City opening hours typically starting at 7:00 AM and closing at 5:30 PM.
As you walk through the Imperial City, youll find that it is part of a larger UNESCO World Heritage Site called the Complex of Hue Monuments. This designation helps preserve its historic significance and maintain its structures. Conveniently located in central Vietnam, Hue is accessible by bus, train, or airplane from major cities like Hanoi and Ho Chi Minh City. Be sure to check local guidelines or official sources for any changes to visiting hours or entry fees before planning your visit.
Location Details
Address
Thành phố Huế, Thừa Thiên Huế, Vietnam
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
200,000 VND
Child
30,000 VND
Student
150,000 VND
Senior
100,000 VND
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
8:00 AM to 5:30 PM
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
The Perfume River in Hue, Vietnam is a significant waterway that flows through the city,…
Learn More
Thien Mu Pagoda, located in the city of Hue, Vietnam, is an iconic Buddhist temple…
Learn More
An Bang Beach in Hoi An, Vietnam, is a popular destination known for its long…
Learn More
Tra Que Vegetable Village is a small farming community located just outside Hoi An, Vietnam.…
Learn More
The Japanese Covered Bridge in Hoi An is an iconic historical landmark, showcasing the unique…
Learn More
Ancient Town in Hoi An is a UNESCO World Heritage Site located in Vietnam. It…
Learn More
Tad Fane Waterfall is located in the Bolaven Plateau near Pakse, Laos. Known for its…
Learn More
The Bolaven Plateau in Pakse, Laos, is a popular destination known for its cool climate…
Learn More
Wat Phou is an ancient Khmer temple complex located in southern Laos, near the town…
Learn More
Vinpearl Safari in Phu Quoc is Vietnams first and largest semi-wildlife conservation park. It covers…
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';
}
});
});
}
});