Historical Building
About This Attraction
The Sapporo Clock Tower is a historic landmark located in the heart of Sapporo, Japan. Originally built in 1878 as a drill hall for the Sapporo Agricultural College, it has since become one of the city's most iconic attractions. The wooden structure features a large clock that was installed in 1881, and it continues to keep time accurately to this day. Visitors can explore the museum inside, which provides insight into the buildings history and the early days of Sapporos development.
For those planning a visit, its important to note the Sapporo Clock Tower opening hours. The tower is generally open daily, except for certain holidays, making it accessible for most travelers. Admission fees are modest, allowing families and tourists to easily include it in their itinerary. Its central location means its conveniently reached by public transportation or a short walk from other nearby attractions.
Location Details
Address
North 1 West 2, Chuo Ward, Sapporo, Hokkaido 060-0001, Japan
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
200 JPY
Child
Free
Student
200 JPY
Senior
200 JPY
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
8:45 AM to 5:10 PM
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
Odori Park is a central feature in Sapporo, Japan, extending over 1.5 kilometers through the…
Learn More
The Sapporo Beer Museum is a popular tourist attraction located in Sapporo, Japan. It offers…
Learn More
Moerenuma Park, located in Sapporo, Japan, is a unique public space designed by renowned artist…
Learn More
Todai-ji Temple in Nara, Japan, is one of the most historically significant Buddhist temples in…
Learn More
Senso-ji Temple, located in the Asakusa district of Tokyo, is one of Japans oldest and…
Learn More
Tokyo Skytree is a broadcasting and observation tower located in Sumida, Tokyo. Standing at 634…
Learn More
Meiji Shrine is a Shinto shrine located in Shibuya, Tokyo, and it is dedicated to…
Learn More
Tokyo Tower is an iconic landmark located in the heart of Tokyo, Japan. Standing at…
Learn More
Shibuya Crossing is one of the busiest pedestrian intersections in the world, located in the…
Learn More
Kinkaku-ji, also known as the Golden Pavilion, is one of Kyotos most famous landmarks. Located…
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';
}
});
});
}
});