Area of Triangle Calculator

Area of Triangle Calculator

Base + Height
Three Sides
SAS
Coordinates
Side + Altitude

Results

Enter values and click Calculate to see results

Interactive Diagram

Calculation History

No calculations yet
`;printWindow.document.write(printContent); printWindow.document.close(); printWindow.print(); }// Share functionality function shareResults() { const results = document.getElementById('results'); if (results.classList.contains('hidden')) { showStatus('No results to share', 'error'); return; }const area = document.getElementById('area-value').textContent; const mode = currentMode; const name = document.getElementById('calc-name').value; const shareText = `Triangle Area Calculation${name ? ` (${name})` : ''}:\nMethod: ${mode}\nArea: ${area}`; const shareUrl = window.location.href;if (navigator.share) { navigator.share({ title: 'Triangle Area Calculation', text: shareText, url: shareUrl }).catch(() => { fallbackShare(shareText); }); } else { fallbackShare(shareText); } }function fallbackShare(text) { copyToClipboard('area-value'); showStatus('Result copied to clipboard for sharing!', 'success'); }// Export functionality (basic text export) function exportResults() { const results = document.getElementById('results'); if (results.classList.contains('hidden')) { showStatus('No results to export', 'error'); return; }const timestamp = new Date().toISOString().split('T')[0]; const name = document.getElementById('calc-name').value; const area = document.getElementById('area-value').textContent; const perimeter = document.getElementById('perimeter-value').textContent; const formula = document.getElementById('formula-display').textContent;let exportContent = `Triangle Area Calculation Results\n`; exportContent += `================================\n\n`; if (name) exportContent += `Reference: ${name}\n`; exportContent += `Method: ${currentMode}\n`; exportContent += `Date: ${new Date().toLocaleString()}\n\n`; exportContent += `Results:\n`; exportContent += `Area: ${area}\n`; if (!document.getElementById('perimeter-result').classList.contains('hidden')) { exportContent += `Perimeter: ${perimeter}\n`; } exportContent += `\nFormula: ${formula}\n`;const blob = new Blob([exportContent], { type: 'text/plain' }); const url = window.URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `triangle-calculation-${timestamp}.txt`; document.body.appendChild(a); a.click(); document.body.removeChild(a); window.URL.revokeObjectURL(url); showStatus('Results exported successfully!', 'success'); }// Add export buttons to the results section function addExportButtons() { const resultsCard = document.querySelector('.results-section .card'); const exportDiv = document.createElement('div'); exportDiv.innerHTML = `
`; resultsCard.appendChild(exportDiv); }// Initialize export buttons when DOM is loaded document.addEventListener('DOMContentLoaded', function() { // Add a small delay to ensure the results section is properly initialized setTimeout(addExportButtons, 100); });