Waterfall
About This Attraction
Klong Plu Waterfall is a popular attraction located on the west side of Koh Chang, Thailand. It is the largest and most accessible waterfall on the island, making it a favorite stop for visitors. The waterfall cascades down several tiers, creating a serene pool at its base where people often swim. It is open to visitors year-round, and there is a small entrance fee to access the area.
Surrounded by lush jungle, Klong Plu Waterfall offers a picturesque setting perfect for photography and relaxation. There is a well-maintained trail leading to the falls, which takes about 15-20 minutes to walk from the entrance. Visitors are advised to wear sturdy footwear as the path can be slippery, especially during the rainy season. For those seeking additional Klong Plu Waterfall travel information, local tour guides and visitor centers can provide useful tips and directions.
Location Details
Address
Mu Ko Chang National Park, Koh Chang, Trat, Thailand
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
200 THB
Child
100 THB
Student
150 THB
Senior
200 THB
Opening Hours & Booking
Open
Days
Daily
Hours
08:00 - 17:00
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
White Sand Beach in Koh Chang is one of the most popular beaches on the…
Learn More
Mu Ko Chang National Park is located in the eastern part of Thailand and encompasses…
Learn More
The Bamboo Train in Battambang is a unique and intriguing form of rural transportation in…
Learn More
Sok San Beach is located on the western side of Koh Rong, an island in…
Learn More
Pattaya Beach in Koh Lipe is a popular destination known for its soft white sands…
Learn More
Long Set Beach in Koh Rong is known for its stunning white sand and clear…
Learn More
Koh Rong Samloem is an island located off the coast of Cambodia in the Gulf…
Learn More
Saracen Bay is the main tourist destination on Koh Rong Sanloem, an island in Cambodia…
Learn More
Lazy Beach in Koh Rong Sanloem is a serene destination known for its tranquil surroundings…
Learn More
Serendipity Beach in Sihanoukville is a popular destination for both locals and tourists. Known for…
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';
}
});
});
}
});