{"id":618,"date":"2025-10-07T20:49:31","date_gmt":"2025-10-07T20:49:31","guid":{"rendered":"https:\/\/giornalemotori.com\/en\/?page_id=618"},"modified":"2025-10-29T14:11:05","modified_gmt":"2025-10-29T14:11:05","slug":"formula-1-standings-drivers-and-teams","status":"publish","type":"page","link":"https:\/\/giornalemotori.com\/en\/formula-1-standings-drivers-and-teams\/","title":{"rendered":"FORMULA 1 STANDINGS DRIVERS AND TEAMS"},"content":{"rendered":"<div id=\"tdi_1\" class=\"tdc-zone\"><div class=\"tdc_zone tdi_2  wpb_row td-pb-row\"  >\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_2{\r\n                    min-height: 0;\r\n                }\n<\/style><div id=\"tdi_3\" class=\"tdc-row\"><div class=\"vc_row tdi_4  wpb_row td-pb-row\" >\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_4,\r\n                .tdi_4 .tdc-columns{\r\n                    min-height: 0;\r\n                }.tdi_4,\r\n\t\t\t\t.tdi_4 .tdc-columns{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_4 .tdc-columns{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}.tdi_4:before,\r\n\t\t\t\t.tdi_4:after{\r\n\t\t\t\t    display: table;\r\n\t\t\t\t}\n<\/style><div class=\"vc_column tdi_6  wpb_column vc_column_container tdc-column td-pb-span12\">\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_6{\r\n                    vertical-align: baseline;\r\n                }.tdi_6 > .wpb_wrapper,\r\n\t\t\t\t.tdi_6 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper > .vc_row_inner{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t    height: auto;\r\n\t\t\t\t}\n<\/style><div class=\"wpb_wrapper\" ><div class=\"wpb_wrapper td_block_wrap vc_raw_html tdi_8 \"><div class=\"td-fix-index\"><div id=\"f1-standings\" style=\"font-family: Inter, sans-serif; max-width: 900px; margin: auto; background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 4px 16px rgba(0,0,0,0.1);\">\r\n  <h2 style=\"text-align:center; font-size: 1.8em; margin-bottom: 10px;\">F1 Standings \u2014 updated after Singapore GP 2025<\/h2>\r\n  <p style=\"text-align:center; color:#666; font-size: 0.9em;\">Source: Formula1.com \u2014 updated: 5 October 2025<\/p>\r\n\r\n  <div style=\"display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; margin-top: 20px; margin-bottom:10px;\">\r\n    <div>\r\n      <button id=\"btn-drivers\" style=\"padding:8px 16px; border-radius:8px; border:none; cursor:pointer; background:#dd0000; color:white;\">Drivers<\/button>\r\n      <button id=\"btn-teams\" style=\"padding:8px 16px; border-radius:8px; border:none; cursor:pointer; background:#eee;\">Constructors<\/button>\r\n    <\/div>\r\n\r\n    <div style=\"display:flex; gap:8px; align-items:center;\">\r\n      <input id=\"search\" type=\"text\" placeholder=\"Search...\" style=\"padding:8px; border:1px solid #ccc; border-radius:8px; width:180px;\">\r\n      <select id=\"sort\" style=\"padding:8px; border-radius:8px; border:1px solid #ccc;\">\r\n        <option value=\"pos\">Order (pos)<\/option>\r\n        <option value=\"pts\" selected>Points<\/option>\r\n        <option value=\"name\">Name<\/option>\r\n      <\/select>\r\n      <button id=\"sortdir\" style=\"padding:8px 12px; border-radius:8px; border:1px solid #ccc; background:white; cursor:pointer;\">Asc<\/button>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div id=\"table-container\"><\/div>\r\n\r\n  <p style=\"color:#777; font-size:0.85em; margin-top:16px;\">\r\n    Note: data updated after Singapore GP 2025 (5 October 2025).\r\n  <\/p>\r\n<\/div>\r\n\r\n<script>\r\nconst drivers = [\r\n  { pos: 1, name: 'Oscar Piastri', team: 'McLaren', pts: 336, nat: 'AUS' },\r\n  { pos: 2, name: 'Lando Norris', team: 'McLaren', pts: 314, nat: 'GBR' },\r\n  { pos: 3, name: 'Max Verstappen', team: 'Red Bull Racing', pts: 273, nat: 'NED' },\r\n  { pos: 4, name: 'George Russell', team: 'Mercedes', pts: 237, nat: 'GBR' },\r\n  { pos: 5, name: 'Charles Leclerc', team: 'Ferrari', pts: 173, nat: 'MON' },\r\n  { pos: 6, name: 'Lewis Hamilton', team: 'Ferrari', pts: 125, nat: 'GBR' },\r\n  { pos: 7, name: 'Kimi Antonelli', team: 'Mercedes', pts: 88, nat: 'ITA' },\r\n  { pos: 8, name: 'Alexander Albon', team: 'Williams', pts: 70, nat: 'THA' },\r\n  { pos: 9, name: 'Isack Hadjar', team: 'Racing Bulls', pts: 39, nat: 'FRA' },\r\n  { pos: 10, name: 'Nico H\u00fclkenberg', team: 'Kick Sauber', pts: 37, nat: 'GER' },\r\n  { pos: 11, name: 'Fernando Alonso', team: 'Aston Martin', pts: 36, nat: 'ESP' },\r\n  { pos: 12, name: 'Carlos Sainz', team: 'Williams', pts: 32, nat: 'ESP' },\r\n  { pos: 13, name: 'Lance Stroll', team: 'Aston Martin', pts: 32, nat: 'CAN' },\r\n  { pos: 14, name: 'Liam Lawson', team: 'Racing Bulls', pts: 30, nat: 'NZL' },\r\n  { pos: 15, name: 'Esteban Ocon', team: 'Haas', pts: 28, nat: 'FRA' },\r\n  { pos: 16, name: 'Yuki Tsunoda', team: 'Red Bull Racing', pts: 20, nat: 'JPN' },\r\n  { pos: 17, name: 'Pierre Gasly', team: 'Alpine', pts: 20, nat: 'FRA' },\r\n  { pos: 18, name: 'Franco Colapinto', team: 'Alpine', pts: 20, nat: 'ARG' },\r\n  { pos: 19, name: 'Gabriel Bortoleto', team: 'Kick Sauber', pts: 18, nat: 'BRA' },\r\n  { pos: 20, name: 'Oliver Bearman', team: 'Haas', pts: 18, nat: 'GBR' }\r\n];\r\n\r\nconst teams = [\r\n  { pos: 1, name: 'McLaren', pts: 650 },\r\n  { pos: 2, name: 'Mercedes', pts: 325 },\r\n  { pos: 3, name: 'Ferrari', pts: 298 },\r\n  { pos: 4, name: 'Red Bull Racing', pts: 290 },\r\n  { pos: 5, name: 'Williams', pts: 102 },\r\n  { pos: 6, name: 'Racing Bulls', pts: 72 },\r\n  { pos: 7, name: 'Aston Martin', pts: 68 },\r\n  { pos: 8, name: 'Kick Sauber', pts: 55 },\r\n  { pos: 9, name: 'Haas', pts: 46 },\r\n  { pos: 10, name: 'Alpine', pts: 20 }\r\n];\r\n\r\nlet view = 'drivers';\r\nlet desc = false;\r\nlet sortKey = 'pts';\r\n\r\nconst container = document.getElementById('table-container');\r\nconst searchInput = document.getElementById('search');\r\nconst sortSelect = document.getElementById('sort');\r\nconst sortDirBtn = document.getElementById('sortdir');\r\n\r\nfunction renderTable() {\r\n  const search = searchInput.value.toLowerCase();\r\n  let data = view === 'drivers' ? [...drivers] : [...teams];\r\n  \r\n  data.sort((a,b)=>{\r\n    if(sortKey==='name') return a.name.localeCompare(b.name)*(desc?-1:1);\r\n    if(sortKey==='pts') return (a.pts - b.pts)*(desc?-1:1);\r\n    return (a.pos - b.pos)*(desc?-1:1);\r\n  });\r\n\r\n  data = data.filter(d => \r\n    d.name.toLowerCase().includes(search) ||\r\n    (d.team && d.team.toLowerCase().includes(search)) ||\r\n    String(d.pos)===search\r\n  );\r\n\r\n  let html = '<table style=\"width:100%; border-collapse:collapse; margin-top:10px;\">';\r\n  html += '<thead><tr style=\"border-bottom:1px solid #ddd; text-align:left;\">';\r\n  html += '<th style=\"padding:8px;\">Pos<\/th>';\r\n  html += '<th style=\"padding:8px;\">' + (view==='drivers'?'Driver':'Team') + '<\/th>';\r\n  if(view==='drivers') html += '<th style=\"padding:8px;\">Team<\/th><th style=\"padding:8px;\">Nat.<\/th>';\r\n  html += '<th style=\"padding:8px; text-align:right;\">Points<\/th><\/tr><\/thead><tbody>';\r\n\r\n  for(const d of data){\r\n    html += '<tr style=\"border-bottom:1px solid #eee;\">';\r\n    html += `<td style=\"padding:8px;\">${d.pos}<\/td>`;\r\n    html += `<td style=\"padding:8px; font-weight:600;\">${d.name}<\/td>`;\r\n    if(view==='drivers') html += `<td style=\"padding:8px;\">${d.team}<\/td><td style=\"padding:8px;\">${d.nat}<\/td>`;\r\n    html += `<td style=\"padding:8px; text-align:right; font-weight:bold;\">${d.pts}<\/td>`;\r\n    html += '<\/tr>';\r\n  }\r\n\r\n  html += '<\/tbody><\/table>';\r\n  container.innerHTML = html;\r\n}\r\n\r\ndocument.getElementById('btn-drivers').onclick = () => {\r\n  view = 'drivers';\r\n  document.getElementById('btn-drivers').style.background = '#dd0000';\r\n  document.getElementById('btn-drivers').style.color = 'white';\r\n  document.getElementById('btn-teams').style.background = '#eee';\r\n  document.getElementById('btn-teams').style.color = 'black';\r\n  sortKey = 'pts';\r\n  desc = false;\r\n  sortSelect.value = 'pts';\r\n  sortDirBtn.textContent = 'Asc';\r\n  renderTable();\r\n};\r\n\r\ndocument.getElementById('btn-teams').onclick = () => {\r\n  view = 'teams';\r\n  document.getElementById('btn-teams').style.background = '#dd0000';\r\n  document.getElementById('btn-teams').style.color = 'white';\r\n  document.getElementById('btn-drivers').style.background = '#eee';\r\n  document.getElementById('btn-drivers').style.color = 'black';\r\n  sortKey = 'pos';\r\n  sortSelect.value = 'pos';\r\n  desc = false;\r\n  sortDirBtn.textContent = 'Asc';\r\n  renderTable();\r\n};\r\n\r\nsearchInput.oninput = renderTable;\r\nsortSelect.onchange = e => { sortKey = e.target.value; renderTable(); };\r\nsortDirBtn.onclick = () => { desc = !desc; sortDirBtn.textContent = desc ? 'Desc' : 'Asc'; renderTable(); };\r\n\r\nrenderTable();\r\n<\/script>\r\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-618","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/pages\/618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/comments?post=618"}],"version-history":[{"count":0,"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/pages\/618\/revisions"}],"wp:attachment":[{"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/media?parent=618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}