Waterfall
About This Attraction
Dudhsagar Falls is one of the tallest and most stunning waterfalls in India, located on the Mandovi River in the Indian state of Goa. It stands at a height of approximately 310 meters, offering a breathtaking sight as water cascades down its four-tiered structure, resembling a sea of milk. This natural wonder is situated about 60 kilometers from Panaji, the capital of Goa, making it accessible for a day trip. The best time to visit Dudhsagar Falls is during the monsoon season, when the waterfall is in full flow and presents a spectacular view.
Reaching Dudhsagar Falls requires a bit of adventure, as visitors often need to trek or take a jeep safari through the Bhagwan Mahavir Wildlife Sanctuary. Additionally, there are train services passing near the falls that provide another unique viewing experience. Its important to note that Dudhsagar Falls opening hours typically align with daylight, and visitors should plan their trip accordingly to make the most out of their visit. Remember to check for any travel advisories or restrictions before visiting to ensure a safe and enjoyable experience.
Location Details
Address
Sonaulim, Goa, India
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
₹400
Child
₹200
Student
₹300
Senior
₹300
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
6:00 AM to 5:00 PM
Seasonality
October to May
Booking
Booking Required?
Yes
Book Your Visit
*Prices may vary. Check official website for the most up-to-date information.
Nearby Attractions
The Basilica of Bom Jesus in Goa is a popular tourist destination known for its…
Learn More
Fort Aguada in Goa is a well-preserved 17th-century Portuguese fort that stands as a prominent…
Learn More
Baga Beach in Goa is one of the most popular beaches in the area, known…
Learn More
The Gateway of India is an iconic monument located in Mumbai, India. Built in 1924,…
Learn More
The Elephanta Caves are a UNESCO World Heritage Site located on Elephanta Island in Mumbai…
Learn More
Chhatrapati Shivaji Maharaj Terminus, often abbreviated as CSMT, is a historic railway station in Mumbai.…
Learn More
Marine Drive in Mumbai is a popular promenade that stretches along the Arabian Sea. This…
Learn More
Bangalore Palace is a stunning example of Tudor-style architecture located in the heart of Bengaluru,…
Learn More
Cubbon Park, located in the heart of Bengaluru, is a prominent green space that attracts…
Learn More
Lalbagh Botanical Garden in Bengaluru is a renowned destination for plant enthusiasts and casual visitors…
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';
}
});
});
}
});