Cantilever Bridge
About This Attraction
The Howrah Bridge in Kolkata is an iconic cantilever bridge that spans the Hooghly River, connecting the cities of Howrah and Kolkata. It was commissioned in 1943 and is one of the busiest bridges in the world, handling millions of vehicles and pedestrians daily. The bridge is a vital transport link for the region but does not have specific opening hours, as it remains operational 24 hours a day to accommodate both vehicular and foot traffic.
Constructed without any nuts or bolts, the structure relies on rivets to hold its massive steel framework together. This engineering marvel stretches over 1,500 feet and stands 82 feet above the water level at high tide. As a major landmark, it provides a convenient route for commuters while also offering picturesque views of the river.
Location Details
Address
Howrah, West Bengal, India
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
Free
Child
Free
Student
Free
Senior
Free
Opening Hours & Booking
Open
Days
Everyday
Hours
24 hours
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
The Indian Museum in Kolkata is one of the oldest and largest museums in India.…
Learn More
The Victoria Memorial in Kolkata is a grand white marble building that stands as a…
Learn More
Dakshineswar Kali Temple is a prominent Hindu temple located in Kolkata, India, dedicated to the…
Learn More
Dashashwamedh Ghat is one of the oldest and most significant ghats in Varanasi, India. It…
Learn More
The Kashi Vishwanath Temple, located in Varanasi, India, is one of the most famous Hindu…
Learn More
Sarnath is a significant historical and religious site located near Varanasi in India. It is…
Learn More
The Bagan Archaeological Museum is a notable institution located in Bagan, Myanmar. It provides visitors…
Learn More
Ananda Temple is one of the most significant and well-preserved temples in Bagan, Myanmar. Built…
Learn More
Shwezigon Pagoda is a prominent Buddhist temple located in Bagan, Myanmar. Built in the 11th…
Learn More
U Bein Bridge, located near Mandalay in Myanmar, is renowned as the worlds longest teakwood…
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';
}
});
});
}
});