Palace
About This Attraction
Jal Mahal is a palace located in the middle of Man Sagar Lake in Jaipur, India. This architectural marvel stands out for its Rajput and Mughal styles, offering an enchanting view especially during the monsoon season when the surrounding hills are lush green. Visitors can enjoy viewing Jal Mahal from the shores of the lake, as access inside the palace is not permitted to the public. However, boat rides on the lake provide a closer look at this beautiful structure.
The palace is best viewed in the early morning or late afternoon when the light creates stunning reflections on the water. While there are no specific Jal Mahal opening hours due to restricted access to the interior, tourists can admire it throughout the day from various vantage points around the lake. Nearby attractions include Amber Fort and Nahargarh Fort, making this area a popular spot for sightseeing. Ensure you have your camera ready to capture the picturesque landscape.
Location Details
Address
Amer Road, Jaipur, Rajasthan, India
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
Free
Child
Free
Student
Free
Senior
Free
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
24 hours (viewing only)
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
Amber Fort, located in Jaipur, India, is a stunning example of Rajput architecture. It was…
Learn More
Hawa Mahal, located in Jaipur, India, is an iconic palace known for its unique architecture.…
Learn More
The Udaipur City Palace is a historical complex located in the city of Udaipur, Rajasthan,…
Learn More
The City Palace in Jaipur is a significant landmark that showcases the architectural brilliance of…
Learn More
Pushkar Lake, located in the town of Pushkar in Rajasthan, India, is a significant pilgrimage…
Learn More
The Brahma Temple in Pushkar is one of the few temples dedicated to Lord Brahma,…
Learn More
The Pushkar Camel Fair is an annual event held in the town of Pushkar, Rajasthan,…
Learn More
Savitri Temple in Pushkar is a significant spiritual site located on Ratnagiri Hill, offering panoramic…
Learn More
Fatehpur Sikri is an ancient city located near Agra, India, built by Emperor Akbar in…
Learn More
Agra Fort, located in Agra, India, is a UNESCO World Heritage site and an important…
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';
}
});
});
}
});