Beach
About This Attraction
Turtle Sanctuary Beach in the Perhentian Islands is a serene destination known for its conservation efforts to protect sea turtles. Visitors can witness the release of baby turtles into the ocean, which typically occurs at specific times during the year. The beach is accessible by boat, and its sandy shores provide a peaceful environment for relaxation. For those planning a visit, its important to check the Turtle Sanctuary Beach opening hours, as they may vary depending on the season.
The sanctuary plays a crucial role in preserving marine life and offers educational experiences for visitors. Volunteers and staff are often available to share information about the life cycles and behaviors of sea turtles. Snorkeling is a popular activity in the clear waters, where vibrant coral reefs can be seen. While visiting, remember to respect the natural habitat and follow any guidelines provided by the sanctuary staff to ensure a safe and enjoyable experience.
Location Details
Address
Pulau Perhentian Besar, Terengganu, Malaysia
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
Free
Child
Free
Student
Free
Senior
Free
Opening Hours & Booking
Open
Days
Daily
Hours
24 hours
Seasonality
March to October
Booking
Booking Required?
No
Nearby Attractions
Kecil Island is part of the Perhentian Islands located in Malaysia, famous for its beautiful…
Learn More
Taiping Lake Gardens, located in the town of Taiping in Perak, Malaysia, is one of…
Learn More
Taiping Zoo, located in Taiping, Malaysia, is one of the oldest zoos in the country,…
Learn More
The Perak Museum in Taiping is the oldest museum in Malaysia, established in 1883. It…
Learn More
A Famosa is a historical Portuguese fortress located in Melaka, Malaysia. Built in 1511, it…
Learn More
Long Beach on the Perhentian Islands is known for its clear waters and soft white…
Learn More
Perhentian Marine Park, located on the Perhentian Islands in Malaysia, is a protected area renowned…
Learn More
The Melaka River Cruise is a popular attraction in the historical city of Melaka, Malaysia.…
Learn More
Jonker Street, located in the heart of Melakas Chinatown, is famous for its lively night…
Learn More
George Town, the capital of Penang Island in Malaysia, is a UNESCO World Heritage site…
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';
}
});
});
}
});