Lake
About This Attraction
Fateh Sagar Lake is a popular tourist destination located in the city of Udaipur, Rajasthan. The lake is artificial and was originally built by Maharana Jai Singh in 1678, but it was reconstructed by Maharana Fateh Singh in the late 19th century after being damaged by floods. Surrounded by the Aravalli hills, it covers an area of about 1 square kilometer and includes three small islands, each with its attractions like parks and gardens. Visitors can enjoy boat rides on the lake, offering scenic views and a chance to explore these islands.
The lake is open to visitors throughout the day, but its advisable to check the specific Fateh Sagar Lake opening hours for boat rides and other activities as they may vary. The most convenient way to reach the lake is by car or auto-rickshaw from the city center, which is only a few kilometers away. Local eateries and vendors offer snacks and refreshments along the promenade, making it an ideal spot for leisurely walks. Given its serene environment and accessibility, Fateh Sagar Lake is suitable for people of all ages looking to relax amidst nature.
Location Details
Address
Fateh Sagar Lake, Udaipur, 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
8:00 AM to 6:00 PM
Seasonality
Open year-round
Booking
Booking Required?
No
Nearby Attractions
Lake Pichola is a picturesque lake located in Udaipur, Rajasthan, India. It was created in…
Learn More
Jag Mandir is a renowned palace located on an island in Lake Pichola, Udaipur, India.…
Learn More
Adalaj Stepwell, located near Ahmedabad in Gujarat, India, is a remarkable example of Indian architecture…
Learn More
Sabarmati Ashram, located in Ahmedabad, India, is a significant historical site tied to Mahatma Gandhi.…
Learn More
The Sidi Saiyyed Mosque in Ahmedabad is renowned for its intricate stone lattice work, particularly…
Learn More
Kankaria Lake, located in Ahmedabad, India, is a popular recreational spot that attracts both locals…
Learn More
Savitri Temple in Pushkar is a significant spiritual site located on Ratnagiri Hill, offering panoramic…
Learn More
The Brahma Temple in Pushkar is one of the few temples dedicated to Lord Brahma,…
Learn More
Pushkar Lake, located in the town of Pushkar in Rajasthan, India, is a significant pilgrimage…
Learn More
The Pushkar Camel Fair is an annual event held in the town of Pushkar, Rajasthan,…
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';
}
});
});
}
});