const updateHeaderMetrics = () => { const header = document.getElementById('header'); const rect = header.getBoundingClientRect(); const headerHeight = rect.bottom; document.documentElement.style.setProperty('--header-height', `${headerHeight}px`); }; window.addEventListener('DOMContentLoaded', updateHeaderMetrics); window.addEventListener('resize', updateHeaderMetrics); const header = document.getElementById('header'); const resizeObserver = new ResizeObserver(entries => { for (let entry of entries) { const rect = entry.target.getBoundingClientRect(); const headerHeight = rect.bottom; document.documentElement.style.setProperty('--header-height', `${headerHeight}px`); } }); resizeObserver.observe(header);
function setSearchUrl(searchValue) { return Promise.resolve({ url: '/search?q=' + searchValue }); } exportFunction('setSearchUrl', setSearchUrl);

Football King

function setSearchUrl(searchValue) { return Promise.resolve({ url: '/search?q=' + searchValue }); } exportFunction('setSearchUrl', setSearchUrl);
function setSearchUrl(searchValue) { return Promise.resolve({ url: '/search?q=' + searchValue }); } exportFunction('setSearchUrl', setSearchUrl); Search
Account
Log in Create an account
Cart
  • Home
  • Top five leagues
    Top five leagues
    • English Football Premier League
      English Football Premier League
      • Arsenal
      • Manchester City Club
      • Manchester United
      • Chelsea
      • Liverpool
      • Tottenham
      • Everton
      • Newcastle United
      • Aston Villa
      • Sunderland
      • Leeds United
      • Leicester City
      • Ipswich Town
      • West Ham United
      • Wolverhampton Wanderers
      • Crystal Palace
      • Southampton
      • Nottingham Forest
      • Brighton
      • Fulham
      • Brentford
      • Bournemouth
      • Burnley
    • Spanish Football League
      Spanish Football League
      • Girona Football Club
      • Barcelona
      • Real Madrid
      • Atletico Madrid
      • Osasuna
      • Athletic Bilbao
      • Seville
      • Real Betis
      • Real Valladolid
      • Real Sociedad
      • Vallecano
      • Alavés
      • Cádiz
      • Valencia FC
      • Espanyol
      • Granada
      • Villarreal
      • Celta
      • Almeria
      • Elche
      • Las Palmas
      • Getafe
      • RCD Mallorca
      • Leganes
    • Italian Football Serie A
      Italian Football Serie A
      • AC Milan Club
      • Inter Milan
      • Juventus Club
      • Napoli
      • Roma
      • Fiorentina
      • Torino
      • Venezia
      • Atalanta
      • Lazio
      • Bologna
      • Parma
      • Empoli FC
      • Hellas Verona F.C
      • Genoa
      • Como
      • Cagliari
      • Lecce
      • Udinese
      • Monza
    • German Football Bundesliga
      German Football Bundesliga
      • Bayern
      • Borussia Dortmund Club
      • Leipzig
      • Mönchengladbach
      • Frankfurt
      • Hamburger SV
      • Leverkusen
      • VfB Stuttgart
      • FC Köln
      • Heidenheim Club
      • VfL Wolfsburg
      • Werder Bremen
      • St. Pauli
      • Hoffenheim
      • FC Union Berlin
      • Holstein Kiel
      • Mainz 05
      • Freiburg
      • Augsburg
      • VfL Bochum
      • Union Berlin
    • French Football League 1
      French Football League 1
      • Paris Saint-Germain
      • Marseille
      • Nantes
      • Monaco
      • RC Lens
      • Lille
      • Le Havre
      • OGC Nice
      • Strasbourg
      • Reims
      • Rennais
      • Brest
      • Auxerre FC
      • Lyon
      • Toulouse
      • Montpellier
      • Angers
      • Saint-Etienne
      • Metz
  • Other Leagues
    Other Leagues
    • English Football Champions League
      English Football Champions League
      • Sheffield Wednesday
      • Blackburn
      • West Brom
      • Sheffield United
      • Birmingham City
      • Oxford United
      • Watford
      • Middlesbrough
      • Stoke City
      • Portsmouth
      • Leeds United
      • Bristol City FC
      • Hull City
      • Millwall
      • Coventry City
      • Swansea City
      • Derby County
      • Norwich City
      • Preston North End
      • Cardiff City
      • Luton Town
      • Plymouth
      • QPR FC
      • Southampton
      • Ipswich Town
    • Portugal Football Super League
      Portugal Football Super League
      • Benfica
      • Porto
      • Sporting Lisbon
      • Guild
      • FC Famalicao
      • Braga
      • Vitória de Guimarães
      • Estoril Praia
    • Mexican Football Primera Division
      Mexican Football Primera Division
      • Cruz Azul
      • Club de Futbol América
      • Atlas FC
      • Tijuana
      • Tigres
      • Monterrey
      • Chivas
      • Pumas UNAM
    • Turkish Football Super League
      Turkish Football Super League
      • Fenerbahce Sports Club
      • Galatasaray
      • Besiktas
    • Brazilian Football League A
      Brazilian Football League A
      • Santos
      • Botafogo
      • Palmeiras
      • Fortaleza Football Club
      • Flamenco
      • São Paulo FC
      • Esporte Clube Bahia
      • Brazil International
      • Cruzeiro
      • Da Gama
      • Atletico Mineiro
      • Bragantino FC
      • sporte Clube Juventude
      • Gremio
      • Criciúma Esporte FC
      • Atletico Parana
      • Vitória
      • Corinthians
      • Fluminense
      • Cuiaba
      • Atletico Goianiense
    • Brazilian Football League B
      Brazilian Football League B
      • Novorizontino
      • Sporting Recife
      • Villanova Football Club
      • Mirasol F.C.
      • Club Atlético Ceara
      • Club America Mineiro
      • Curitiba Foot Ball Club
      • Avai Football Club
      • Ponta Grossa Railway Workers Sports Club
      • Amazon Football Club
      • Atlético de Goias
      • Chapecoense Football Club
      • Paysandú Sports FC
      • Bondi Bida
      • Botafogo Sao Paulo Football Club
      • Clube de Regattas Brassil
      • Bruschi Football Club
      • Ituano Football Club
      • Guarani Football Club
    • Irish Premier League
      Irish Premier League
      • Bohemian F.C.
    • English Football League 1
      English Football League 1
      • Wrexham Football Club
      • Stockport County
      • Barnsley
      • Charlton Athletic
      • Lincoln City
      • Huddersfield Town FC
      • Reading F.C.
      • Bristol Rovers F.C.
      • Exeter City F.C.
      • Peterborough United F.C.
      • Crawley Town
      • Northampton Town F.C.
      • Mansfield Town F.C.
      • Rotherham United F.C.
      • Wycombe Wanderers F.C.
      • Stevenage F.C.
      • Bolton
      • Burton Albion
      • Wigan Athletic F.C.
      • Shrewsbury F.C.
      • Blackpool F.C.
      • Cambridge United F.C.
      • Leyton Orient F.C.
    • Scottish Football Premier League
      Scottish Football Premier League
      • Rangers
      • Aberdeen
      • Celtic
      • Hearts FC
    • Spanish Football League B
      Spanish Football League B
      • Tenerife
      • Málaga
      • Deportivo La Coruna
      • Real Zaragoza
      • Sporting de Gijón
      • Huesca
      • Real Oviedo
      • Albacete FC
      • Cordoba
      • Racing Santander
      • Castellon FC
      • Cádiz
    • German Football League B
      German Football League B
      • Düsseldorf
      • SpVgg Greuther Fürth
      • FC Köln
      • Hertha BSC
      • Karlsruhe
      • Schalke 04
      • Magdeburg
      • Kaiserslautern FC
      • Darmstadt FC
      • Paderborn 07 FC
      • SV Elversberg FC
      • Hannover 96 FC
      • Nürnberg FC
      • SC Preußen Münster FC
      • Eintracht Braunschweig FC
      • SSV Ulm FC
      • Regensburg FC
      • Bielefeld
    • Dutch Football League A
      Dutch Football League A
      • PSV Eindhoven
      • Utrecht
      • AZ Alkmaar FC
      • Twente
      • Ajax
      • Feyenoord
      • Sparta Rotterdam FC
      • Go Ahead Eagles
      • Groningen
      • Heracles Almelo
      • Willem II
      • Nijmegen
      • Zwolle
      • Fortuna Sittard FC
      • Heerenveen
      • NAC Breda
      • Almere City
      • Waalwijk
    • Dutch second division football league
      Dutch second division football league
      • SBV Elite
      • Dunbosh Football Club
      • Helmond Sport
      • De Graafschap
      • FC Eindhoven
      • SC Telstar
      • PSV Eindhoven Youth Team
      • Emmen
      • AZ Youth Team
      • Volendam
      • Roda JC
      • Ajax Youth Team
      • Dordrecht
      • The Hague
      • VVV-Venlo
      • TOP Oss
      • Cambuur
      • Maastricht
      • Vitesse
      • Utrecht Youth Team
    • Swiss Football Super League
      Swiss Football Super League
      • Servette FC
      • Basel FC
    • Other leagues
      Other leagues
      • Al-Nassr
      • Al Hilal SFC
      • AFC Richmond
      • America
      • Inter Miami
      • Queen's Parade
      • Club Atlético Boca Juniors
      • Palermo
      • Royal Antwerp FC
      • Rapid Wien FC
      • Austria Wien
      • Johor FC
      • Al-Ittihad FC
      • Spezia Calcio
      • Club Deportivo Palestino
      • SSC Bari
      • U.C. Sampdoria
      • Real Huelva
      • Al Ahly SC
      • Blooming Arena
      • Atletico Bucaramanga
      • Salernitana
      • FC Metz
      • Atlético Peñarol
      • Colo Colo
      • LA Galaxy
      • Universidad de Chile
      • JS Kabylie
      • Mamelodi Sundowns
      • O'Higgins F.C.
      • Philadelphia Union
      • Atlético Tucuman
      • Legia Warszawa
      • Frosinone
      • Copenhagen
      • Hajduk Split HNK
      • Harlacher
      • Zenit
      • FC Steaua Bucureşti
      • Saiyans FC
      • Kaizer Chiefs FC
      • San Lorenzo FC
      • Avellaneda FC
      • Versailles FC
      • Kashima Antlers FC
      • Bordeaux FC
      • Millionaires FC
      • Cerro Porteño FC
      • Tokyo Verdy FC
      • Motagua FC
      • Toluca FC
      • Bohemians FC
      • Los Angeles FC
      • Porcinos FC
      • Barranquilla Youth FC
      • Atlético Nacional FC
      • Tolima FC
      • Ulsan HD FC
      • Atlanta United FC
      • Almirante Brown
      • Standard Liege FC
      • Sanfrecce Hiroshima FC
      • Urawa Red Diamonds FC
      • Sagan Tosu FC
      • Orlando City FC
      • Austin FC
      • Portland Timbers FC
      • Dallas FC
      • Toronto FC
      • Columbus Crew FC
      • D.C. United FC
      • Real Salt Lake FC
      • Peluche Caligari FC
      • Sporting Kansas City FC
      • Colorado Rapids FC
      • Montreal FC
      • Minnesota United FC
      • Nashville FC
      • New York City FC
      • New York Red Bulls FC
      • Emelec FC
      • Olimpia FC
      • Atlético Independiente FC
      • AIK
      • San Diego FC
      • San Jose Earthquakes FC
      • St. Louis City FC
      • Vancouver Whitecaps FC
      • Seattle Sounders FC
      • Charlotte FC
      • Cincinnati FC
      • New England Revolution FC
      • Houston Dynamo FC
      • Chicago Fire FC
      • Puebla FC
      • Catholic University FC
      • Audax Italiano FC
      • IFK Norrköping FC
      • Bay FC
      • Montevideo City Torque FC
      • Cavalry FC
      • Santa Fe FC
      • Shelbourne FC
      • Indy Eleven FC
      • River Plate
      • Incheon United FC
      • Al Ain FC
      • Halmstad FC
      • Libertad FC
      • Monterey Bay FC
      • Vissel Kobe FC
      • Hapoel Be'er Sheva FC
      • Maccabi Tel Aviv FC
      • Beitar Jerusalem FC
      • Yokohama F. Marinos FC
      • Atlético Tigre FC
      • Estudiantes de La Plata FC
      • Orlando Pride FC
      • North Carolina Courage FC
      • Portland Thorns FC
      • Washington Spirit FC
      • Kansas City Current FC
      • Racing Louisville FC
      • NJ/NY Gotham FC
      • San Diego Wave FC
      • Angel City FC
      • Seattle Reign FC
      • Houston Dash FC
      • Utah Royals FC
      • Chicago Stars FC
      • Santa Cruz FC
      • Universitaria de Quito FC
      • St Patrick's Athletic FC
      • Olympiacos
      • Atlético Vélez Sársfield FC
      • Atlético Huracán FC
      • Figueirense FC
      • Sporting Cristal FC
      • Cerezo Osaka FC
      • Atlético Lanús FC
      • Alianza Lima FC
      • Rosario Central FC
      • Gamba Osaka FC
      • Newell's Old Boys FC
      • Argentinos Juniors FC
      • Cork City FC
      • Boreale
      • Hokkaido Consadole Sapporo FC
      • Bielefeld
      • Hansa Rostock
      • Kyoto Sanga FC
      • Nacional FC
      • Rio Branco Atlético FC
      • Seoul FC
      • Adidas
      • Avispa Fukuoka FC
      • Barcelona SC
      • Hércules FC
      • Malmö FC
      • Atlético Juventus FC
      • Kashiwa Reysol FC
      • Cesena FC
      • VfL Osnabrück FC
      • Paris FC
      • Olimpo United FC
      • Persas FC
      • Real Titán FC
      • Galácticos del Caribe FC
      • Raniza FC
      • Los Aliens FC
      • Los Chamos FC
      • Atlético Parceros FC
      • Muchachos FC
      • Club de Cuervos FC
      • West Santos FC
      • Carl Zeiss Jena FC
      • Dinamo Tbilisi FC
      • Ayr United FC
      • Lorient FC
      • Shimizu S-Pulse FC
      • Panathinaikos FC
      • MC Alger FC
      • Associação Portuguesa de Desportos FC
      • Red Bull Salzburg
      • Bradford City FC
      • Port Vale FC
      • CD Olimpia FC
      • Ceuta FC
  • Season
    Season
    • 2025-2026 Season
    • 2024-2025 Season
    • 2023-2024 Season
  • UEFA Champions League
    UEFA Champions League
    • AC Milan Club
    • Arsenal
    • Aston Villa
    • Atalanta
    • Atletico Madrid
    • Barcelona
    • Leverkusen
    • Bayern
    • Benfica
    • Bologna
    • Borussia Dortmund Club
    • Brest
    • Celtic
    • Club Brugge K.V
    • Dinamo Zagreb
    • Feyenoord
    • Girona Football Club
    • Inter Milan
    • Juventus
    • Lille
    • Liverpool
    • Manchester City Club
    • Monaco
    • Paris Saint-Germain
    • Eindhoven
    • Leipzig
    • Real Madrid
    • Red Star Belgrade
    • FC Red Bull Salzburg
    • Shakhtar Donetsk
    • Slovan
    • Sparta Prague
    • Sporting Lisbon
    • SK Sturm Graz
    • VfB Stuttgart
    • BSC Young Boys
    • Slavia Praha
  • European Cup
    European Cup
    • UEFA Euro 2024
      UEFA Euro 2024
      • Germany
      • Scotland
      • Spain
      • Italy
      • France
      • England
      • Portugal
      • Hungary
      • Switzerland
      • Croatia
      • Albania
      • Slovenia
      • Denmark
      • Serbia
      • Wales
      • Netherlands
      • Austria
      • Belgium
      • Slovakia
      • Romania
      • Türkiye
      • Czech Republic
      • Poland
      • Norway
  • America's Cup
    America's Cup
    • Copa America 2024
      Copa America 2024
      • Canada
      • Colombia
      • Peru
      • Chile
      • Venezuela
      • Mexico
      • deer
      • Brazil
      • Argentina
      • Bolivia
  • National Team
    National Team
    • Europe
      Europe
      • Germany
      • France
      • Portugal
      • Belgium
      • Denmark
      • England
      • Spain
      • Russia
      • Turkey
      • Switzerland
      • Italy
      • Netherlands
      • Albania
      • Croatia
      • Finland
      • Norway
      • Norway
      • Sweden
      • Ireland
      • Poland
      • Ukraine
      • Greece
      • Czech Republic
      • Wales
      • Northern Ireland
      • Iceland
      • Hungary
      • Scotland
      • Türkiye
      • Bosnia and Herzegovina
      • Serbia
      • Austria
      • Georgia
      • Romania
      • Armenia
      • Yugoslavia
    • Noth America
      Noth America
      • Mexico
      • Canada
      • El Salvador
      • Panama
      • Costa Rica
      • Jamaica
      • Honduras
      • Guatemala
      • USA
      • Greenland
    • South America
      South America
      • Argentina
      • Uruguay
      • Brazil
      • Paraguay
      • Colombia
      • Ecuador
      • Chile
      • Peru
      • Venezuela
      • Bolivia
    • Asia
      Asia
      • Korea
      • Japan
      • Saudi Arabia
      • Malaysia
      • Iraq
      • Qatar
      • Iran
      • Australia
      • Philippines
      • Oman
      • Palestine
      • Indonesia
      • China
    • Africa
      Africa
      • Senegal
      • Tunisia
      • Algeria
      • Ivory Coast
      • Cameroon
      • Morocco
      • Ghana
      • Egypt
      • Nigeria
      • Mali
      • Congo
  • 2026 World Cup jersey
  • Previous World Cup Champions
    Previous World Cup Champions
    • 2022 - Argentina
    • 2018 - France
    • 2014 - Germany
    • 2010 - Spain
    • 2006 - Italy
    • 2002 - Brazil
    • 1990 - Germany
    • 1986 - Argentina
    • 1970 - Brazil
  • other products
    other products
    • Retro
    • Kids
    • Long Sleeve
    • Windbreaker
    • Shorts
    • Jacket
    • Football
    • Special line logistics
    • sock
  • Log in Create an account
  • Home
  • Top five leagues
    English Football Premier League
    • Arsenal
    • Manchester City Club
    • Manchester United
    • Chelsea
    • Liverpool
    • Tottenham
    • Everton
    • Newcastle United
    • Aston Villa
    • Sunderland
    • Leeds United
    • Leicester City
    • Ipswich Town
    • West Ham United
    • Wolverhampton Wanderers
    • Crystal Palace
    • Southampton
    • Nottingham Forest
    • Brighton
    • Fulham
    • Brentford
    • Bournemouth
    • Burnley
    Spanish Football League
    • Girona Football Club
    • Barcelona
    • Real Madrid
    • Atletico Madrid
    • Osasuna
    • Athletic Bilbao
    • Seville
    • Real Betis
    • Real Valladolid
    • Real Sociedad
    • Vallecano
    • Alavés
    • Cádiz
    • Valencia FC
    • Espanyol
    • Granada
    • Villarreal
    • Celta
    • Almeria
    • Elche
    • Las Palmas
    • Getafe
    • RCD Mallorca
    • Leganes
    Italian Football Serie A
    • AC Milan Club
    • Inter Milan
    • Juventus Club
    • Napoli
    • Roma
    • Fiorentina
    • Torino
    • Venezia
    • Atalanta
    • Lazio
    • Bologna
    • Parma
    • Empoli FC
    • Hellas Verona F.C
    • Genoa
    • Como
    • Cagliari
    • Lecce
    • Udinese
    • Monza
    German Football Bundesliga
    • Bayern
    • Borussia Dortmund Club
    • Leipzig
    • Mönchengladbach
    • Frankfurt
    • Hamburger SV
    • Leverkusen
    • VfB Stuttgart
    • FC Köln
    • Heidenheim Club
    • VfL Wolfsburg
    • Werder Bremen
    • St. Pauli
    • Hoffenheim
    • FC Union Berlin
    • Holstein Kiel
    • Mainz 05
    • Freiburg
    • Augsburg
    • VfL Bochum
    • Union Berlin
    French Football League 1
    • Paris Saint-Germain
    • Marseille
    • Nantes
    • Monaco
    • RC Lens
    • Lille
    • Le Havre
    • OGC Nice
    • Strasbourg
    • Reims
    • Rennais
    • Brest
    • Auxerre FC
    • Lyon
    • Toulouse
    • Montpellier
    • Angers
    • Saint-Etienne
    • Metz
  • Other Leagues
    English Football Champions League
    • Sheffield Wednesday
    • Blackburn
    • West Brom
    • Sheffield United
    • Birmingham City
    • Oxford United
    • Watford
    • Middlesbrough
    • Stoke City
    • Portsmouth
    • Leeds United
    • Bristol City FC
    • Hull City
    • Millwall
    • Coventry City
    • Swansea City
    • Derby County
    • Norwich City
    • Preston North End
    • Cardiff City
    • Luton Town
    • Plymouth
    • QPR FC
    • Southampton
    • Ipswich Town
    Portugal Football Super League
    • Benfica
    • Porto
    • Sporting Lisbon
    • Guild
    • FC Famalicao
    • Braga
    • Vitória de Guimarães
    • Estoril Praia
    Mexican Football Primera Division
    • Cruz Azul
    • Club de Futbol América
    • Atlas FC
    • Tijuana
    • Tigres
    • Monterrey
    • Chivas
    • Pumas UNAM
    Turkish Football Super League
    • Fenerbahce Sports Club
    • Galatasaray
    • Besiktas
    Brazilian Football League A
    • Santos
    • Botafogo
    • Palmeiras
    • Fortaleza Football Club
    • Flamenco
    • São Paulo FC
    • Esporte Clube Bahia
    • Brazil International
    • Cruzeiro
    • Da Gama
    • Atletico Mineiro
    • Bragantino FC
    • sporte Clube Juventude
    • Gremio
    • Criciúma Esporte FC
    • Atletico Parana
    • Vitória
    • Corinthians
    • Fluminense
    • Cuiaba
    • Atletico Goianiense
    Brazilian Football League B
    • Novorizontino
    • Sporting Recife
    • Villanova Football Club
    • Mirasol F.C.
    • Club Atlético Ceara
    • Club America Mineiro
    • Curitiba Foot Ball Club
    • Avai Football Club
    • Ponta Grossa Railway Workers Sports Club
    • Amazon Football Club
    • Atlético de Goias
    • Chapecoense Football Club
    • Paysandú Sports FC
    • Bondi Bida
    • Botafogo Sao Paulo Football Club
    • Clube de Regattas Brassil
    • Bruschi Football Club
    • Ituano Football Club
    • Guarani Football Club
    Irish Premier League
    • Bohemian F.C.
    English Football League 1
    • Wrexham Football Club
    • Stockport County
    • Barnsley
    • Charlton Athletic
    • Lincoln City
    • Huddersfield Town FC
    • Reading F.C.
    • Bristol Rovers F.C.
    • Exeter City F.C.
    • Peterborough United F.C.
    • Crawley Town
    • Northampton Town F.C.
    • Mansfield Town F.C.
    • Rotherham United F.C.
    • Wycombe Wanderers F.C.
    • Stevenage F.C.
    • Bolton
    • Burton Albion
    • Wigan Athletic F.C.
    • Shrewsbury F.C.
    • Blackpool F.C.
    • Cambridge United F.C.
    • Leyton Orient F.C.
    Scottish Football Premier League
    • Rangers
    • Aberdeen
    • Celtic
    • Hearts FC
    Spanish Football League B
    • Tenerife
    • Málaga
    • Deportivo La Coruna
    • Real Zaragoza
    • Sporting de Gijón
    • Huesca
    • Real Oviedo
    • Albacete FC
    • Cordoba
    • Racing Santander
    • Castellon FC
    • Cádiz
    German Football League B
    • Düsseldorf
    • SpVgg Greuther Fürth
    • FC Köln
    • Hertha BSC
    • Karlsruhe
    • Schalke 04
    • Magdeburg
    • Kaiserslautern FC
    • Darmstadt FC
    • Paderborn 07 FC
    • SV Elversberg FC
    • Hannover 96 FC
    • Nürnberg FC
    • SC Preußen Münster FC
    • Eintracht Braunschweig FC
    • SSV Ulm FC
    • Regensburg FC
    • Bielefeld
    Dutch Football League A
    • PSV Eindhoven
    • Utrecht
    • AZ Alkmaar FC
    • Twente
    • Ajax
    • Feyenoord
    • Sparta Rotterdam FC
    • Go Ahead Eagles
    • Groningen
    • Heracles Almelo
    • Willem II
    • Nijmegen
    • Zwolle
    • Fortuna Sittard FC
    • Heerenveen
    • NAC Breda
    • Almere City
    • Waalwijk
    Dutch second division football league
    • SBV Elite
    • Dunbosh Football Club
    • Helmond Sport
    • De Graafschap
    • FC Eindhoven
    • SC Telstar
    • PSV Eindhoven Youth Team
    • Emmen
    • AZ Youth Team
    • Volendam
    • Roda JC
    • Ajax Youth Team
    • Dordrecht
    • The Hague
    • VVV-Venlo
    • TOP Oss
    • Cambuur
    • Maastricht
    • Vitesse
    • Utrecht Youth Team
    Swiss Football Super League
    • Servette FC
    • Basel FC
    Other leagues
    • Al-Nassr
    • Al Hilal SFC
    • AFC Richmond
    • America
    • Inter Miami
    • Queen's Parade
    • Club Atlético Boca Juniors
    • Palermo
    • Royal Antwerp FC
    • Rapid Wien FC
    • Austria Wien
    • Johor FC
    • Al-Ittihad FC
    • Spezia Calcio
    • Club Deportivo Palestino
    • SSC Bari
    • U.C. Sampdoria
    • Real Huelva
    • Al Ahly SC
    • Blooming Arena
    • Atletico Bucaramanga
    • Salernitana
    • FC Metz
    • Atlético Peñarol
    • Colo Colo
    • LA Galaxy
    • Universidad de Chile
    • JS Kabylie
    • Mamelodi Sundowns
    • O'Higgins F.C.
    • Philadelphia Union
    • Atlético Tucuman
    • Legia Warszawa
    • Frosinone
    • Copenhagen
    • Hajduk Split HNK
    • Harlacher
    • Zenit
    • FC Steaua Bucureşti
    • Saiyans FC
    • Kaizer Chiefs FC
    • San Lorenzo FC
    • Avellaneda FC
    • Versailles FC
    • Kashima Antlers FC
    • Bordeaux FC
    • Millionaires FC
    • Cerro Porteño FC
    • Tokyo Verdy FC
    • Motagua FC
    • Toluca FC
    • Bohemians FC
    • Los Angeles FC
    • Porcinos FC
    • Barranquilla Youth FC
    • Atlético Nacional FC
    • Tolima FC
    • Ulsan HD FC
    • Atlanta United FC
    • Almirante Brown
    • Standard Liege FC
    • Sanfrecce Hiroshima FC
    • Urawa Red Diamonds FC
    • Sagan Tosu FC
    • Orlando City FC
    • Austin FC
    • Portland Timbers FC
    • Dallas FC
    • Toronto FC
    • Columbus Crew FC
    • D.C. United FC
    • Real Salt Lake FC
    • Peluche Caligari FC
    • Sporting Kansas City FC
    • Colorado Rapids FC
    • Montreal FC
    • Minnesota United FC
    • Nashville FC
    • New York City FC
    • New York Red Bulls FC
    • Emelec FC
    • Olimpia FC
    • Atlético Independiente FC
    • AIK
    • San Diego FC
    • San Jose Earthquakes FC
    • St. Louis City FC
    • Vancouver Whitecaps FC
    • Seattle Sounders FC
    • Charlotte FC
    • Cincinnati FC
    • New England Revolution FC
    • Houston Dynamo FC
    • Chicago Fire FC
    • Puebla FC
    • Catholic University FC
    • Audax Italiano FC
    • IFK Norrköping FC
    • Bay FC
    • Montevideo City Torque FC
    • Cavalry FC
    • Santa Fe FC
    • Shelbourne FC
    • Indy Eleven FC
    • River Plate
    • Incheon United FC
    • Al Ain FC
    • Halmstad FC
    • Libertad FC
    • Monterey Bay FC
    • Vissel Kobe FC
    • Hapoel Be'er Sheva FC
    • Maccabi Tel Aviv FC
    • Beitar Jerusalem FC
    • Yokohama F. Marinos FC
    • Atlético Tigre FC
    • Estudiantes de La Plata FC
    • Orlando Pride FC
    • North Carolina Courage FC
    • Portland Thorns FC
    • Washington Spirit FC
    • Kansas City Current FC
    • Racing Louisville FC
    • NJ/NY Gotham FC
    • San Diego Wave FC
    • Angel City FC
    • Seattle Reign FC
    • Houston Dash FC
    • Utah Royals FC
    • Chicago Stars FC
    • Santa Cruz FC
    • Universitaria de Quito FC
    • St Patrick's Athletic FC
    • Olympiacos
    • Atlético Vélez Sársfield FC
    • Atlético Huracán FC
    • Figueirense FC
    • Sporting Cristal FC
    • Cerezo Osaka FC
    • Atlético Lanús FC
    • Alianza Lima FC
    • Rosario Central FC
    • Gamba Osaka FC
    • Newell's Old Boys FC
    • Argentinos Juniors FC
    • Cork City FC
    • Boreale
    • Hokkaido Consadole Sapporo FC
    • Bielefeld
    • Hansa Rostock
    • Kyoto Sanga FC
    • Nacional FC
    • Rio Branco Atlético FC
    • Seoul FC
    • Adidas
    • Avispa Fukuoka FC
    • Barcelona SC
    • Hércules FC
    • Malmö FC
    • Atlético Juventus FC
    • Kashiwa Reysol FC
    • Cesena FC
    • VfL Osnabrück FC
    • Paris FC
    • Olimpo United FC
    • Persas FC
    • Real Titán FC
    • Galácticos del Caribe FC
    • Raniza FC
    • Los Aliens FC
    • Los Chamos FC
    • Atlético Parceros FC
    • Muchachos FC
    • Club de Cuervos FC
    • West Santos FC
    • Carl Zeiss Jena FC
    • Dinamo Tbilisi FC
    • Ayr United FC
    • Lorient FC
    • Shimizu S-Pulse FC
    • Panathinaikos FC
    • MC Alger FC
    • Associação Portuguesa de Desportos FC
    • Red Bull Salzburg
    • Bradford City FC
    • Port Vale FC
    • CD Olimpia FC
    • Ceuta FC
  • Season
    • 2025-2026 Season
    • 2024-2025 Season
    • 2023-2024 Season
  • UEFA Champions League
    • AC Milan Club
    • Arsenal
    • Aston Villa
    • Atalanta
    • Atletico Madrid
    • Barcelona
    • Leverkusen
    • Bayern
    • Benfica
    • Bologna
    • Borussia Dortmund Club
    • Brest
    • Celtic
    • Club Brugge K.V
    • Dinamo Zagreb
    • Feyenoord
    • Girona Football Club
    • Inter Milan
    • Juventus
    • Lille
    • Liverpool
    • Manchester City Club
    • Monaco
    • Paris Saint-Germain
    • Eindhoven
    • Leipzig
    • Real Madrid
    • Red Star Belgrade
    • FC Red Bull Salzburg
    • Shakhtar Donetsk
    • Slovan
    • Sparta Prague
    • Sporting Lisbon
    • SK Sturm Graz
    • VfB Stuttgart
    • BSC Young Boys
    • Slavia Praha
  • European Cup
    UEFA Euro 2024
    • Germany
    • Scotland
    • Spain
    • Italy
    • France
    • England
    • Portugal
    • Hungary
    • Switzerland
    • Croatia
    • Albania
    • Slovenia
    • Denmark
    • Serbia
    • Wales
    • Netherlands
    • Austria
    • Belgium
    • Slovakia
    • Romania
    • Türkiye
    • Czech Republic
    • Poland
    • Norway
  • America's Cup
    Copa America 2024
    • Canada
    • Colombia
    • Peru
    • Chile
    • Venezuela
    • Mexico
    • deer
    • Brazil
    • Argentina
    • Bolivia
  • National Team
    Europe
    • Germany
    • France
    • Portugal
    • Belgium
    • Denmark
    • England
    • Spain
    • Russia
    • Turkey
    • Switzerland
    • Italy
    • Netherlands
    • Albania
    • Croatia
    • Finland
    • Norway
    • Norway
    • Sweden
    • Ireland
    • Poland
    • Ukraine
    • Greece
    • Czech Republic
    • Wales
    • Northern Ireland
    • Iceland
    • Hungary
    • Scotland
    • Türkiye
    • Bosnia and Herzegovina
    • Serbia
    • Austria
    • Georgia
    • Romania
    • Armenia
    • Yugoslavia
    Noth America
    • Mexico
    • Canada
    • El Salvador
    • Panama
    • Costa Rica
    • Jamaica
    • Honduras
    • Guatemala
    • USA
    • Greenland
    South America
    • Argentina
    • Uruguay
    • Brazil
    • Paraguay
    • Colombia
    • Ecuador
    • Chile
    • Peru
    • Venezuela
    • Bolivia
    Asia
    • Korea
    • Japan
    • Saudi Arabia
    • Malaysia
    • Iraq
    • Qatar
    • Iran
    • Australia
    • Philippines
    • Oman
    • Palestine
    • Indonesia
    • China
    Africa
    • Senegal
    • Tunisia
    • Algeria
    • Ivory Coast
    • Cameroon
    • Morocco
    • Ghana
    • Egypt
    • Nigeria
    • Mali
    • Congo
  • 2026 World Cup jersey
  • Previous World Cup Champions
    • 2022 - Argentina
    • 2018 - France
    • 2014 - Germany
    • 2010 - Spain
    • 2006 - Italy
    • 2002 - Brazil
    • 1990 - Germany
    • 1986 - Argentina
    • 1970 - Brazil
  • other products
    • Retro
    • Kids
    • Long Sleeve
    • Windbreaker
    • Shorts
    • Jacket
    • Football
    • Special line logistics
    • sock
  • More links
    function setSearchUrl(searchValue) { return Promise.resolve({ url: '/search?q=' + searchValue }); } exportFunction('setSearchUrl', setSearchUrl);
    function setSearchUrl(searchValue) { return Promise.resolve({ url: '/search?q=' + searchValue }); } exportFunction('setSearchUrl', setSearchUrl);
    Login
    Please enter your e-mail and password:
    Email is required
    Please enter a valid email.
    Password is required.
    Password must be between 6-16 characters long.
    Forgot password?
    Don't have an account? Create one
    Login for more discounts

    Football King

    It is an online football mall with a large number of high-quality sports equipment adhering to the principle of "high quality, reliability, and low price", providing the best shopping experience for football enthusiasts.

    Subscribe today to hear first about our sales
    Please fill in this field
    Please enter a valid email address
    Thanks for subscribing
    © 2026 Football King
    Terms and Conditions
    Privacy Policy
    About us
    Contact Us
    Comment On Football Babes
    Tracking Order

    Cart

    Your cart is reserved for !
    cart
    cart
    Your cart is currently empty.
    Continue shopping
    const TAG = "spz-custom-popup"; const DISPLAY_TYPE = { POPUP: "PTT_POPUP" // 弹窗 }; const API = { LIST: `/api/storefront/promotion/placement/list`, // 获取弹窗列表 REPORT: `/api/storefront/promotion/placement/data/report` // 上报数据 }; const DISPLAY_DEVICE = { PC_AND_MOBILE: "PD_PC_MOBILE", // PC和移动端 PC: "PD_PC", // PC MOBILE: "PD_MOBILE" // 移动端 }; const REPORT_EVENT = { CLICK: "PE_CLICK", // 点击事件 IMPRESSION: "PE_IMPRESSION" // 曝光事件 }; class SpzCustomPopup extends SPZ.BaseElement { constructor(element) { super(element); this.popupList_ = []; // 弹窗数据 this.popupZIndex = 1050; // 弹窗层级 // 节流处理 每5s内多次点击 算一次点击上报 this.throttleReport = this.win.SPZCore.Types.throttle( this.win, (data) => { this.reportData(data) }, 5000 ) } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.fetchData_(); } // 接口请求,获取数据 fetchData_() { const id = window.SHOPLAZZA.meta.page.template_type === 51 ? window.SHOPLAZZA.meta.page.resource_id : 0; return this.xhr_.fetchJson(API.LIST, { method: 'POST', body: { page_id: window.SHOPLAZZA.meta.page.template_type, placement_type: DISPLAY_TYPE.POPUP, discount_id: id } }).then((res) => { // 请求成功 执行render this.doRender_(res.list); }).catch((err) => { console.error(err); }); } // 渲染dom doRender_(data) { this.popupList_ = data || []; if (this.popupList_.length > 0) { this.popupList_.forEach((item) => { item.config = JSON.parse(item.config); }) } return this.templates_ .findAndRenderTemplate(this.element, { list: this.popupList_ }) .then((el) => { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); this.element.appendChild(el); }) .then(() => { // 遍历显示弹窗 this.popupList_.forEach((item) => { this.showPopup_(item); }); }) } showPopup_(popup) { // 展示弹窗 符合展示条件的弹窗 const $popup = document.querySelector(`#popup-${popup.id}`); $popup && SPZ.whenApiDefined($popup).then((api)=> { const isPC = this.viewport_.getWidth() >= 960; const isMobile = this.viewport_.getWidth() < 960; const isMatchPCDevice = popup.device === DISPLAY_DEVICE.PC_AND_MOBILE || popup.device === DISPLAY_DEVICE.PC; const isMatchMobileDevice = popup.device == DISPLAY_DEVICE.PC_AND_MOBILE || popup.device === DISPLAY_DEVICE.MOBILE; if((isPC && isMatchPCDevice) || (isMobile && isMatchMobileDevice)) { // 根据推送时间 延迟展示弹窗 setTimeout(() => { api.open(); }, popup.delay_seconds * 1000); } }) } // 上报数据 async reportData(data) { this.xhr_.fetchJson(API.REPORT, { method: "POST", body: { placement_id: data.placement_id, event: data.event } }); } setupAction_() { this.registerAction('handleTrack', async(invocation) => { // 如果是主题编辑器则不用处理 if(window.top !== window.self) { return; } const data = invocation.args; const event = data.event; // 点击上报 节流处理 if(event === REPORT_EVENT.CLICK) { await this.throttleReport(data); } else { this.reportData(data); } }); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomPopup);
    const TAG = "spz-custom-announcement"; const DISPLAY_TYPE = { ANNOUNCEMENT: "PTT_BANNER" // 公告栏 }; const API = { LIST: `/api/storefront/promotion/placement/list`, // 获取公告栏列表 REPORT: `/api/storefront/promotion/placement/data/report` // 上报数据 }; const DISPLAY_DEVICE = { PC_AND_MOBILE: "PD_PC_MOBILE", // PC和移动端 PC: "PD_PC", // PC MOBILE: "PD_MOBILE" // 移动端 }; const REPORT_EVENT = { CLICK: "PE_CLICK", // 点击事件 IMPRESSION: "PE_IMPRESSION" // 曝光事件 }; const POSITION = { TOP: "PP_TOP", // 顶部 BOTTOM: "PP_BOTTOM" // 底部 } const MODE = { FIXED: "PM_FIXED", // 固定 NORMAL: "PM_SCROLLING" // 滚动 } const THEME_NAME = window.SHOPLAZZA.theme.merchant_theme_name; class SpzCustomAnnouncement extends SPZ.BaseElement { constructor(element) { super(element); this.announcementList_ = []; // 公告栏数据 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.fetchData_(); this.createAnnouncementDom_(); this.listenCartChange_(); } fetchData_(type = '') { const id = window.SHOPLAZZA.meta.page.template_type === 51 ? window.SHOPLAZZA.meta.page.resource_id : 0; return this.xhr_.fetchJson(API.LIST, { method: 'POST', body: { page_id: window.SHOPLAZZA.meta.page.template_type, placement_type: DISPLAY_TYPE.ANNOUNCEMENT, discount_id: id } }).then((res) => { this.announcementList_ = res.list || []; if (this.announcementList_.length > 0) { this.announcementList_.forEach((item) => { item.config = JSON.parse(item.config); }); } if(type === 'cartChange') { this.announcementList_.forEach((item) => { this.updateText_(item); }); } else { this.doRender_(this.announcementList_); } }).catch((error) => { console.error(error); }) } doRender_(data) { return this.templates_ .findAndRenderTemplate(this.element, { list: this.announcementList_ }) .then((el) => { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); this.element.appendChild(el); }) .then(() => { this.announcementList_.forEach((item) => { this.showAnnouncement_(item); }); }).then(() => { this.handleThemeCompatibility_(); }); } // 更新文案 updateText_(item) { const announcement = document.querySelector(`#announcement-${item.id}`); const announcementText = announcement.querySelectorAll('.announcement_text'); const textArr = item.config.text_discount.replace_texts; const textDom = textArr.map((text) => { return `${text}`; }).join(','); announcementText.forEach((text) => { text.innerHTML = textDom; }); } // 创建公告栏dom createAnnouncementDom_() { const isHero = /Hero/.test(THEME_NAME); const isEva = /Eva/.test(THEME_NAME); const headerEl = document.querySelector('[data-section-type="header"]'); const headerSticky = headerEl && SPZCore.Dom.computedStyle(this.win, headerEl).position === 'sticky'; // 创建滚动的底部公告栏 const announcementBottomContainer = document.createElement('div'); announcementBottomContainer.className = 'announcement__container_bottom bootstrap'; document.body.appendChild(announcementBottomContainer); // 创建固定的底部公告栏 const announcementBottomSticky = document.createElement('ljs-sticky'); announcementBottomSticky.className = 'announcement__container_bottom-sticky'; announcementBottomSticky.setAttribute('layout', 'container'); announcementBottomSticky.setAttribute('position', 'bottom'); announcementBottomSticky.style.position = 'fixed'; announcementBottomSticky.style.bottom = '0'; announcementBottomSticky.style.left = '0'; announcementBottomSticky.style.right = '0'; announcementBottomSticky.style.zIndex = '1030'; document.body.appendChild(announcementBottomSticky); const announcementTopContainer = document.createElement('div'); announcementTopContainer.classList.add('announcement__container_top'); if (isHero) { announcementTopContainer.classList.add('announcement__container_top_zIndex_1030'); } announcementTopContainer.classList.add('bootstrap'); document.body.insertBefore(announcementTopContainer, document.body.children[0]); const announcementTopFixedContainer = document.createElement('div'); announcementTopFixedContainer.classList.add('announcement__container_top-fixed'); if (isHero) { announcementTopFixedContainer.classList.add('announcement__container_top_zIndex_1030'); } announcementTopFixedContainer.classList.add('bootstrap'); const insertBeforeElement = headerSticky ? headerEl : document.body; insertBeforeElement.insertBefore(announcementTopFixedContainer, insertBeforeElement.children[0]); if (isEva) { const evaHeader = document.querySelector('header.header'); const isEvaMaskHeader = evaHeader && SPZCore.Dom.computedStyle(this.win, evaHeader).position === 'absolute'; let fixedBannerTopContainer = document.querySelector('.announcement__container_top-fixed'); if (isEvaMaskHeader) { if (fixedBannerTopContainer) { fixedBannerTopContainer.remove(); } const newBanner = document.createElement('div'); newBanner.className = 'announcement__container_top-fixed bootstrap'; document.body.insertBefore(newBanner, document.body.firstChild); fixedBannerTopContainer = newBanner; } else { if (!headerEl) return; const observer = new MutationObserver(() => { const isSticky = SPZCore.Dom.computedStyle(this.win, headerEl).position === 'sticky'; if (!isSticky) return; const isTopFixedAnnouncementInHeader = headerEl.querySelector('.announcement__container_top-fixed'); if (isTopFixedAnnouncementInHeader) return; const announcementTopFixedContainer = document.querySelector('.announcement__container_top-fixed'); if (announcementTopFixedContainer) { announcementTopFixedContainer.remove(); headerEl.insertBefore(announcementTopFixedContainer, headerEl.children[0]); observer.disconnect(); } }); observer.observe(headerEl, { attributes: true, attributeFilter: ['style', 'class'] }); } if (headerSticky && !isEvaMaskHeader && fixedBannerTopContainer) { fixedBannerTopContainer.style.position = 'relative'; fixedBannerTopContainer.style.zIndex = '29'; } } } // 展示公告栏 showAnnouncement_(item) { const announcement = document.querySelector(`#announcement-${item.id}`); const announcementBottomContainer = document.querySelector('.announcement__container_bottom'); const announcementBottomSticky = document.querySelector('.announcement__container_bottom-sticky'); const announcementTopContainer = document.querySelector('.announcement__container_top'); const announcementTopFixedContainer = document.querySelector('.announcement__container_top-fixed'); const isPC = this.viewport_.getWidth() >= 960; const isMobile = this.viewport_.getWidth() < 960; const isMatchPCDevice = item.device === DISPLAY_DEVICE.PC_AND_MOBILE || item.device === DISPLAY_DEVICE.PC; const isMatchMobileDevice = item.device == DISPLAY_DEVICE.PC_AND_MOBILE || item.device === DISPLAY_DEVICE.MOBILE; if((isPC && isMatchPCDevice) || (isMobile && isMatchMobileDevice)) { if (item.position === POSITION.BOTTOM) { if(item.mode === MODE.FIXED) { announcementBottomSticky && announcementBottomSticky.appendChild(announcement); } else { announcementBottomContainer && announcementBottomContainer.appendChild(announcement); } } else { if (item.mode === MODE.FIXED) { announcementTopFixedContainer && announcementTopFixedContainer.appendChild(announcement); } else { announcementTopContainer && announcementTopContainer.appendChild(announcement); } } this.reportData({ placement_id: item.id, event: REPORT_EVENT.IMPRESSION }); } } // 处理主题兼容 handleThemeCompatibility_() { try { const isBoost = /Boost/.test(THEME_NAME); const isHyde = /Hyde/.test(THEME_NAME); const isEva = /Eva/.test(THEME_NAME); const boostHeader = document.querySelector('.boost-header'); const fixedBannerTopContainer = document.querySelector('.announcement__container_top-fixed'); const notFixedBannerTopContainer = document.querySelector('.announcement__container_top'); const headerEl = document.querySelector('[data-section-type="header"]'); const headerSticky = headerEl && SPZCore.Dom.computedStyle(this.win, headerEl).position === 'sticky'; const header = document.querySelector('.header__fixed') || document.querySelector('.header__wrapper'); const headerFixed = header && SPZCore.Dom.computedStyle(this.win, header).position === 'fixed'; const handleScroll = SPZCore.Types.throttle(this.win, () => { if (isHyde) { if (header && headerSticky) { header.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } else { notFixedBannerTopContainer.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } } if (isEva) { const evaHeader = document.querySelector('header.header'); const isEvaMaskHeader = evaHeader && SPZCore.Dom.computedStyle(this.win, evaHeader).position === 'absolute'; if (!isEvaMaskHeader) return; if (evaHeader.classList.contains('header__fixed')) { evaHeader.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } else { notFixedBannerTopContainer.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } if(document.documentElement.scrollTop === 0) { evaHeader.style.marginTop = '0'; } } if (headerSticky) return; if (headerFixed) { header.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } else { const observer = new MutationObserver((mutationsList, observer) => { for (const mutation of mutationsList) { if (mutation.type === 'childList' && fixedBannerTopContainer.childElementCount > 0) { notFixedBannerTopContainer.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; observer.disconnect(); // 停止观察 break; } } }); // 开始观察 fixedBannerTopContainer 的子节点变化 observer.observe(fixedBannerTopContainer, { childList: true, subtree: true }); // 初始检查 if (fixedBannerTopContainer.childElementCount > 0) { notFixedBannerTopContainer.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } if(header) { header.style.marginTop = '0'; } } if (isBoost) { fixedBannerTopContainer.style.zIndex = '1031'; if (boostHeader && boostHeader.classList.contains('header__fixed')) { boostHeader.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } else { notFixedBannerTopContainer.style.marginTop = `${fixedBannerTopContainer.offsetHeight}px`; } } }, 16); window.addEventListener('scroll', handleScroll); window.dispatchEvent(new Event('scroll')); } catch (error) { console.error('error', error); } } // 上报数据 async reportData(data) { // 如果是主题编辑器则不用处理 if(window.top !== window.self) { return; } this.xhr_.fetchJson(API.REPORT, { method: "POST", body: { placement_id: data.placement_id, event: data.event } }); } // 监听购物车变化事件dj.cartChange listenCartChange_() { SPZUtils.Event.listen(document, 'dj.cartChange', (event) => { this.fetchData_('cartChange'); }); } setupAction_() { this.registerAction('handleClose', (invocation) => { const data = invocation.args; const id = data.id; const announcement = document.querySelector(`#announcement-${id}`); announcement && SPZCore.Dom.removeElement(announcement); window.dispatchEvent(new Event('scroll')); }); this.registerAction('handleJumpLink', (invocation) => { const data = invocation.args; if(!data.show_url) return; data.url && window.open(data.url, data.open_new_window ? '_blank' : '_self'); this.reportData({ placement_id: data.id, event: REPORT_EVENT.CLICK }); }); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomAnnouncement);