Museum
About This Attraction
The Karen Blixen Museum in Nairobi is a historical site housed in the former residence of the renowned Danish author, Karen Blixen. Situated against the scenic backdrop of the Ngong Hills, this museum offers visitors a glimpse into the life and times of the writer best known for her book Out of Africa. The property includes beautifully maintained gardens and a coffee plantation, which are part of the original farm that Blixen managed from 1917 to 1931.
Visitors can explore the museum daily during the Karen Blixen Museum opening hours, which are typically from 9:30 AM to 6:00 PM. Guided tours provide insights into Blixens life and her influence on both literature and Kenyan culture. The house features various artifacts and furniture that belonged to Blixen, offering a tangible connection to her storied past. This museum provides an educational experience that appeals to history enthusiasts and literary fans alike.
Location Details
Address
Karen Road, Langata, Nairobi, Kenya
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
1200 KES
Child
600 KES
Student
600 KES
Senior
600 KES
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
8:30 AM to 6:00 PM
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
The Giraffe Centre in Nairobi is a popular attraction dedicated to the conservation and education…
Learn More
Nairobi National Park is a unique wildlife sanctuary located just outside the bustling city of…
Learn More
The David Sheldrick Wildlife Trust in Nairobi is a leading conservation organization dedicated to the…
Learn More
The Pangani River, located in northeastern Tanzania, is a significant waterway flowing from the Kilimanjaro…
Learn More
Vumawimbi Beach is located on Pemba Island, which is part of the Zanzibar Archipelago in…
Learn More
Ngezi Forest Reserve on Pemba Island is a protected area that covers approximately 1,440 hectares.…
Learn More
Maziwe Island, located off the coast of Pangani, Tanzania, is a small marine sanctuary known…
Learn More
The Pemba Flying Fox Sanctuary, located on Pemba Island in Tanzania, is a vital conservation…
Learn More
Misali Island, located off the coast of Pemba Island in Tanzania, is a small island…
Learn More
Nungwi Beach is located on the northern tip of Zanzibar, Tanzania, and is renowned 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';
}
});
});
}
});