www.joyfball.club Open in urlscan Pro
104.18.233.42  Public Scan

Submitted URL: http://www.joyfball.club/
Effective URL: https://www.joyfball.club/
Submission: On April 23 via api from US — Scanned from DE

Form analysis 3 forms found in the DOM

GET /search

<form action="/search" method="get">
  <div tabindex="-1" class="header__icon d-none d-lg-flex flex-row-reverse align-items-center header__search">
    <button type="submit" class="sep-font sep-font-search-thin header__search-icon dj_skin_link logo-icon-color" tabindex="-1"></button>
    <input style="background-color: #FFFFFF !important;" name="q" id="searchheader" type="text" class="form-control header__search-input " placeholder="Search for...">
    <label for="searchheader" class="header__search-label" tabindex="1"></label>
  </div>
</form>

<form class="">
  <div class="zb-flex">
    <a href="${product.url}?${toQuery({ aid: 'smart_recommend.2.' + data.id, ifb: product.ifb || '', cfb: product.cfb || '', scm: product.scm || data.scm || '', ssp: data.ssp || '' })}" impr="1" imprevt="1" class="zb-w-[132px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0" data-prdct="${product.id}" data-ifb="${product.ifb || ''}" data-cfb="${product.cfb || ''}" data-scm="${product.scm || data.scm || ''}" data-spm="${productIndex}"> <ljs-render layout="container" id="smart_cart_pop_image_${product.id}" template="smart_cart_pop_image_template" manual=""></ljs-render> </a>
    <div class="zb-flex zb-flex-col zb-flex-grow zb-justify-between">
      <div>
        <div class="zb-line-clamp-2 zb-text-sm zb-mb-2">${product.title}</div> <ljs-render layout="container" id="smart_cart_pop_price_${product.id}" template="smart_cart_pop_price_template" manual=""></ljs-render>
      </div>
      <div>
        <div class="zb-relative zb-w-full zb-cursor-pointer">
          <div class="zb-border zb-border-solid zb-border-[#eee] zb-px-3 zb-py-[10px] zb-flex zb-items-center zb-justify-between zb-font-semibold zb-text-sm zb-rounded-sm"
            @tap="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);smart_cart_pop_variant_${product.id}_mobile.toggleClass(class=zb-hidden);smart_cart_pop_variant_${product.id}_pc.toggleClass(class=smart_cart_pop_variant_pc_show,force=true);smart_cart_pop_variant_modal_${product.id}.open"
            spz-if="${!!(product.options &amp;&amp; product.options.length &amp;&amp; product.options.length > 0) &amp;&amp; data.config.variant_select_visible}"> <ljs-render manual="" layout="container" id="smart_cart_pop_variant_text_${product.id}"
              template="smart_cart_pop_variant_text_template"></ljs-render> <svg id="smart_pop_variant-select-${product.id}" width="12" height="8" class="zb-ml-2" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <path
                d="M6.00002 7.06738C6.19244 7.06775 6.38498 6.99453 6.5318 6.84772C6.54504 6.83447 6.55769 6.82086 6.56973 6.8069L11.1251 2.25152C11.418 1.95863 11.418 1.48375 11.1251 1.19086C10.8322 0.897968 10.3573 0.897968 10.0645 1.19086L6.00003 5.25529L1.9356 1.19086C1.64271 0.897968 1.16784 0.897968 0.874943 1.19086C0.58205 1.48375 0.58205 1.95863 0.874943 2.25152L5.43033 6.8069C5.44237 6.82086 5.45502 6.83447 5.46826 6.84772C5.61507 6.99453 5.8076 7.06775 6.00002 7.06738Z"
                fill="#0A1533"></path>
            </svg> </div> <ljs-lightbox layout="nodisplay" disable-unmount="" class="smart_cart_pop_lightbox_pc" id="smart_cart_pop_variant_modal_${product.id}" @close="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);">
            <div id="smart_cart_pop_variant_${product.id}_pc" class="zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
                class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template"
                onclick="event.stopPropagation()" disabled-dj-event="" interference=""> </ljs-variants></div>
          </ljs-lightbox>
        </div>
        <div class="zb-mt-3"> <button product-id="${product.id}" id="smart_cart_pop_atc_btn_${product.id}"
            class="zb-flex zb-items-center zb-justify-center zb-w-full zb-text-white zb-py-[10px] zb-h-9 zb-text-xs zb-font-normal zb-border-none zb-rounded-[4px] smart_cart_pop_atc_btn_bg" type="button" role="addToCart"
            @tap="smart_cart_pop_loading_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_btn_${product.id}.toggleClass(class=zb-pointer-events-none);custom-func.addATCHook(activity_id='${data.id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${product.scm || data.scm}',ssp='${data.ssp}',spm='${data.spmBase}.${productIndex}')">
            <ljs-render layout="container" id="smart_cart_pop_atc_${product.id}" template="smart_cart_pop_atc_template" mamual="" class="notranslate"> </ljs-render>
            <div id="smart_cart_pop_added_${product.id}" class="zb-hidden"><span class="zb-flex zb-justify-center zb-gap-1"><svg width="14" height="15" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
                  <path
                    d="M8 16.5006C3.58171 16.5006 0 12.9183 0 8.5C0 4.08171 3.58171 0.5 8 0.5C12.4183 0.5 16 4.08171 16 8.5C16 12.9183 12.4183 16.5006 8 16.5006ZM8 2.04344C4.21314 2.04344 1.54287 4.71371 1.54287 8.50057C1.54287 12.2874 4.21314 14.9577 8 14.9577C11.7869 14.9577 14.4571 12.2874 14.4571 8.50057C14.4571 4.71371 11.7869 2.04344 8 2.04344ZM7.26057 11.1909L7.12229 11.3286L7.09543 11.3017C7.02286 11.336 6.94286 11.3577 6.85714 11.3577C6.73543 11.3577 6.62857 11.3109 6.536 11.2463L6.52229 11.2594L6.45371 11.1909C6.45314 11.1903 6.45314 11.1903 6.45257 11.1897L4.09771 8.83486L4.90629 8.02686L6.85714 9.97771L11.1629 5.67143L11.9714 6.48L7.26171 11.1897C7.26114 11.1903 7.26114 11.1903 7.26057 11.1909Z"
                    fill="white"></path>
                </svg>Added</span></div>
            <div id="smart_cart_pop_loading_${product.id}" class="zb-hidden">
              <div class="smart_cart_pop_loading"></div>
            </div>
          </button> </div>
      </div>
    </div>
  </div>
  <div id="smart_cart_pop_variant_${product.id}_mobile" class="zb-hidden md:zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
      class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template" onclick="event.stopPropagation()"
      disabled-dj-event="" interference=""> </ljs-variants></div>
</form>

POST //translate.googleapis.com/translate_voting?client=te

<form id="goog-gt-votingForm" action="//translate.googleapis.com/translate_voting?client=te" method="post" target="votingFrame" class="VIpgJd-yAWNEb-hvhgNd-aXYTce"><input type="text" name="sl" id="goog-gt-votingInputSrcLang"><input type="text"
    name="tl" id="goog-gt-votingInputTrgLang"><input type="text" name="query" id="goog-gt-votingInputSrcText"><input type="text" name="gtrans" id="goog-gt-votingInputTrgText"><input type="text" name="vote" id="goog-gt-votingInputVote"></form>

Text Content

Free Shipping From 2 Shirts
0
 * HOME
 * 2023-2024 Season
 * Previous World Cup Champions
   2022 - Argentina
   2018 - France
   2014 - Germany
   2010 - Spain
   2006 - Italy
   2002 - Brazil
   1998 - France
   1994 - Brazil
   1990 - Germany
   1986 - Argentina
   1978 - Argentina
   1970 - Brazil
 * Club Team
   Bundesliga
   Bayern
   Dortmund
   Leipzig
   Frankfurt
   Borussia Mönchengladbach
   Hoffenheim
   Leverkusen
   Ligue 1
   Paris
   Marseille
   Lyon
   LaLiga
   Barcelona
   Real Madrid
   Atletico Madrid
   Athletic Bilbao
   Real Betis
   Seville
   Real society
   Valencia
   Cadiz
   Granada
   SERIE A
   AC Milan
   Inter Milan
   Juventus
   Naples
   Roma
   Venice
   Lazio
   Premier League
   Arsenal
   Liverpool
   Manchester City
   Manchester United
   Chelsea
   Tottenham
   Everton
   Newcastle United
   Aston Villa
   Leeds United
   Leicester City
   West Ham United
   Wolverhampton Wanderers
   Crystal Palace
   Nottingham Forest
   Brighton
   Fulham
   Eredivisie
   Ajax
   Eindhoven
   Feyenoord Rotterdam
   Scottish Premiership
   Celtic
   Rangers
   Argentina Football League
   River Plate
   Boca Juniors
   MLS
   LA Galaxy
   Los Angeles
   Charlotte
   Austin
   Atlanta United
   Inter Miami
   Philadelphia Union
   Campeonato Brasileiro Série A
   Fluminense
   Flamengo
   Santos
   São Paulo
   Palmeiras
   Atlético Mineiro
   Cruzeiro
 * Naional Team
   Europe
   Belgium
   Germany
   France
   Netherlands
   Croatia
   Portugal
   Scotland
   Wales
   Spain
   Italy
   England
   Ireland
   South America
   Argentina
   Brazil
   Uruguay
   Chile
   Colombia
   Ecuador
   North America
   United States
   Mexico
   Honduras
   Canada
   Guatemala
   Jamaica
   El Salvador
   Panama
   Asia
   Korea
   Japan
   Africa
   Nigeria
   Senegal
   Morocco
   Algeria
   Ghana
   Ivory Coast
   Cameroon
 * Shorts
 * Retro
 * For Kids
 * Jacket
 * Windbreaker
 * Add Badge
 * Other
   Special line logistics
   add extra
   AFC Richmond
   Al-Nassr
   Atlético Mineiro
   Tigers
   America
   Chivas
   Al-Hilal
   Tijuana
   AIK Football
   Blue Cross
   Corinthians
   Palm trees
   São Paulo
   Pumas ONE
   Flamengo
   Al Ahli SFC
   Fluminense
 * FAQ
 * 17-Track


EUR
 * United States Dollars (USD)
 * Euro (EUR)
 * United Kingdom Pounds (GBP)
 * Canadian Dollars (CAD)
 * Afghan Afghani (AFN)
 * Albanian Lek (ALL)
 * Algerian Dinar (DZD)
 * Angolan Kwanza (AOA)
 * Argentine Pesos (ARS)
 * Armenian Dram (AMD)
 * Aruban Florin (AWG)
 * Australian Dollars (AUD)
 * Barbadian Dollar (BBD)
 * Azerbaijani Manat (AZN)
 * Bangladesh Taka (BDT)
 * Bahamian Dollar (BSD)
 * Bahraini Dinar (BHD)
 * Belarusian Ruble (BYN)
 * Belize Dollar (BZD)
 * Bhutanese Ngultrum (BTN)
 * Bosnia and Herzegovina Convertible Mark (BAM)
 * Brazilian Real (BRL)
 * Bolivian Boliviano (BOB)
 * Botswana Pula (BWP)
 * Brunei Dollar (BND)
 * Bulgarian Lev (BGN)
 * Burmese Kyat (MMK)
 * Cambodian Riel (KHR)
 * Cape Verdean escudo (CVE)
 * Cayman Dollars (KYD)
 * Central African CFA Franc (XAF)
 * Chilean Peso (CLP)
 * Chinese Yuan Renminbi (CNY)
 * Colombian Peso (COP)
 * Comorian Franc (KMF)
 * Congolese franc (CDF)
 * Costa Rican Colones (CRC)
 * Croatian Kuna (HRK)
 * Czech Koruny (CZK)
 * Danish Kroner (DKK)
 * Dominican Peso (DOP)
 * East Caribbean Dollar (XCD)
 * Egyptian Pound (EGP)
 * Ethiopian Birr (ETB)
 * CFP Franc (XPF)
 * Fijian Dollars (FJD)
 * Gambian Dalasi (GMD)
 * Ghanaian Cedi (GHS)
 * Guatemalan Quetzal (GTQ)
 * Guyanese Dollar (GYD)
 * Georgian Lari (GEL)
 * Haitian Gourde (HTG)
 * Honduran Lempira (HNL)
 * Hong Kong Dollars (HKD)
 * Hungarian Forint (HUF)
 * Icelandic Kronur (ISK)
 * Indian Rupees (INR)
 * Indonesian Rupiah (IDR)
 * Israeli New Shekel (NIS)
 * Jamaican Dollars (JMD)
 * Japanese Yen (JPY)
 * Jersey Pound (JEP)
 * Jordanian Dinar (JOD)
 * Kazakhstani Tenge (KZT)
 * Kenyan Shilling (KES)
 * Kuwaiti Dinar (KWD)
 * Kyrgyzstani Som (KGS)
 * Laotian Kip (LAK)
 * Latvian Lati (LVL)
 * Lebanese Pounds (LBP)
 * Lesotho Loti (LSL)
 * Liberian Dollar (LRD)
 * Malagasy Ariary (MGA)
 * Macedonia Denar (MKD)
 * Macanese Pataca (MOP)
 * Malawian Kwacha (MWK)
 * Maldivian Rufiyaa (MVR)
 * Mexican Pesos (MXN)
 * Malaysian Ringgits (MYR)
 * Mauritian Rupee (MUR)
 * Moldovan Leu (MDL)
 * Moroccan Dirham (MAD)
 * Mongolian Tugrik (MNT)
 * Mozambican Metical (MZN)
 * Namibian Dollar (NAD)
 * Nepalese Rupee (NPR)
 * Netherlands Antillean Guilder (ANG)
 * New Zealand Dollars (NZD)
 * Nicaraguan Córdoba (NIO)
 * Nigerian Naira (NGN)
 * Norwegian Kroner (NOK)
 * Omani Rial (OMR)
 * Pakistani Rupee (PKR)
 * Papua New Guinean Kina (PGK)
 * Paraguayan Guarani (PYG)
 * Peruvian Nuevo Sol (PEN)
 * Philippine Peso (PHP)
 * Polish Zlotych (PLN)
 * Qatari Rial (QAR)
 * Romanian Lei (RON)
 * Russian Rubles (RUB)
 * Rwandan Franc (RWF)
 * Samoan Tala (WST)
 * Saudi Riyal (SAR)
 * Sao Tome And Principe Dobra (STD)
 * Serbian dinar (RSD)
 * Seychellois Rupee (SCR)
 * Singapore Dollars (SGD)
 * Sudanese Pound (SDG)
 * Syrian Pound (SYP)
 * South African Rand (ZAR)
 * South Korean Won (KRW)
 * South Sudanese Pound (SSP)
 * Solomon Islands Dollar (SBD)
 * Sri Lankan Rupees (LKR)
 * Surinamese Dollar (SRD)
 * Swazi Lilangeni (SZL)
 * Swedish Kronor (SEK)
 * Swiss Francs (CHF)
 * Taiwan Dollars (TWD)
 * Thai baht (THB)
 * Tanzanian Shilling (TZS)
 * Trinidad and Tobago Dollars (TTD)
 * Tunisian Dinar (TND)
 * Turkish Lira (TRY)
 * Turkmenistani Manat (TMT)
 * Ugandan Shilling (UGX)
 * Ukrainian Hryvnia (UAH)
 * United Arab Emirates Dirham (AED)
 * Uruguayan Pesos (UYU)
 * Uzbekistan som (UZS)
 * Vanuatu Vatu (VUV)
 * Venezuelan Bolivares (VEF)
 * Vietnamese đồng (VND)
 * West African CFA franc (XOF)
 * Yemeni Rial (YER)
 * Zambian Kwacha (ZMW)
 * Saint Helena pound
 * Burundian franc
 * Bermudian dollar
 * Cuban peso
 * Djiboutian franc
 * Eritrean nakfa
 * Guinean franc
 * North Korean won
 * Sierra Leonean leone
 * Somali shilling
 * Tajikistani somoni
 * Tongan paʻanga
 * Falkland Islands pound
 * Iraqi Dinar


Powered by Google Übersetzer
Bahasa
Indonesia,English,한국어,日本語,Português,Русский,Español,Français,ไทย,Italiano,Deutsch,Polski,Nederlands,Bahasa
Melayu,svenska,norsk,čeština,Lietuvis,Latvietis,Suomalainen,Ελληνικά,Eestlane,dansk,Magyar,Romanian,Slovenščina,Український,Slovenská,Български,Hrvatski
jezik

0
 * Login
 * Register




Login
Register

EUR
 * United States Dollars (USD)
 * Euro (EUR)
 * United Kingdom Pounds (GBP)
 * Canadian Dollars (CAD)
 * Afghan Afghani (AFN)
 * Albanian Lek (ALL)
 * Algerian Dinar (DZD)
 * Angolan Kwanza (AOA)
 * Argentine Pesos (ARS)
 * Armenian Dram (AMD)
 * Aruban Florin (AWG)
 * Australian Dollars (AUD)
 * Barbadian Dollar (BBD)
 * Azerbaijani Manat (AZN)
 * Bangladesh Taka (BDT)
 * Bahamian Dollar (BSD)
 * Bahraini Dinar (BHD)
 * Belarusian Ruble (BYN)
 * Belize Dollar (BZD)
 * Bhutanese Ngultrum (BTN)
 * Bosnia and Herzegovina Convertible Mark (BAM)
 * Brazilian Real (BRL)
 * Bolivian Boliviano (BOB)
 * Botswana Pula (BWP)
 * Brunei Dollar (BND)
 * Bulgarian Lev (BGN)
 * Burmese Kyat (MMK)
 * Cambodian Riel (KHR)
 * Cape Verdean escudo (CVE)
 * Cayman Dollars (KYD)
 * Central African CFA Franc (XAF)
 * Chilean Peso (CLP)
 * Chinese Yuan Renminbi (CNY)
 * Colombian Peso (COP)
 * Comorian Franc (KMF)
 * Congolese franc (CDF)
 * Costa Rican Colones (CRC)
 * Croatian Kuna (HRK)
 * Czech Koruny (CZK)
 * Danish Kroner (DKK)
 * Dominican Peso (DOP)
 * East Caribbean Dollar (XCD)
 * Egyptian Pound (EGP)
 * Ethiopian Birr (ETB)
 * CFP Franc (XPF)
 * Fijian Dollars (FJD)
 * Gambian Dalasi (GMD)
 * Ghanaian Cedi (GHS)
 * Guatemalan Quetzal (GTQ)
 * Guyanese Dollar (GYD)
 * Georgian Lari (GEL)
 * Haitian Gourde (HTG)
 * Honduran Lempira (HNL)
 * Hong Kong Dollars (HKD)
 * Hungarian Forint (HUF)
 * Icelandic Kronur (ISK)
 * Indian Rupees (INR)
 * Indonesian Rupiah (IDR)
 * Israeli New Shekel (NIS)
 * Jamaican Dollars (JMD)
 * Japanese Yen (JPY)
 * Jersey Pound (JEP)
 * Jordanian Dinar (JOD)
 * Kazakhstani Tenge (KZT)
 * Kenyan Shilling (KES)
 * Kuwaiti Dinar (KWD)
 * Kyrgyzstani Som (KGS)
 * Laotian Kip (LAK)
 * Latvian Lati (LVL)
 * Lebanese Pounds (LBP)
 * Lesotho Loti (LSL)
 * Liberian Dollar (LRD)
 * Malagasy Ariary (MGA)
 * Macedonia Denar (MKD)
 * Macanese Pataca (MOP)
 * Malawian Kwacha (MWK)
 * Maldivian Rufiyaa (MVR)
 * Mexican Pesos (MXN)
 * Malaysian Ringgits (MYR)
 * Mauritian Rupee (MUR)
 * Moldovan Leu (MDL)
 * Moroccan Dirham (MAD)
 * Mongolian Tugrik (MNT)
 * Mozambican Metical (MZN)
 * Namibian Dollar (NAD)
 * Nepalese Rupee (NPR)
 * Netherlands Antillean Guilder (ANG)
 * New Zealand Dollars (NZD)
 * Nicaraguan Córdoba (NIO)
 * Nigerian Naira (NGN)
 * Norwegian Kroner (NOK)
 * Omani Rial (OMR)
 * Pakistani Rupee (PKR)
 * Papua New Guinean Kina (PGK)
 * Paraguayan Guarani (PYG)
 * Peruvian Nuevo Sol (PEN)
 * Philippine Peso (PHP)
 * Polish Zlotych (PLN)
 * Qatari Rial (QAR)
 * Romanian Lei (RON)
 * Russian Rubles (RUB)
 * Rwandan Franc (RWF)
 * Samoan Tala (WST)
 * Saudi Riyal (SAR)
 * Sao Tome And Principe Dobra (STD)
 * Serbian dinar (RSD)
 * Seychellois Rupee (SCR)
 * Singapore Dollars (SGD)
 * Sudanese Pound (SDG)
 * Syrian Pound (SYP)
 * South African Rand (ZAR)
 * South Korean Won (KRW)
 * South Sudanese Pound (SSP)
 * Solomon Islands Dollar (SBD)
 * Sri Lankan Rupees (LKR)
 * Surinamese Dollar (SRD)
 * Swazi Lilangeni (SZL)
 * Swedish Kronor (SEK)
 * Swiss Francs (CHF)
 * Taiwan Dollars (TWD)
 * Thai baht (THB)
 * Tanzanian Shilling (TZS)
 * Trinidad and Tobago Dollars (TTD)
 * Tunisian Dinar (TND)
 * Turkish Lira (TRY)
 * Turkmenistani Manat (TMT)
 * Ugandan Shilling (UGX)
 * Ukrainian Hryvnia (UAH)
 * United Arab Emirates Dirham (AED)
 * Uruguayan Pesos (UYU)
 * Uzbekistan som (UZS)
 * Vanuatu Vatu (VUV)
 * Venezuelan Bolivares (VEF)
 * Vietnamese đồng (VND)
 * West African CFA franc (XOF)
 * Yemeni Rial (YER)
 * Zambian Kwacha (ZMW)
 * Saint Helena pound
 * Burundian franc
 * Bermudian dollar
 * Cuban peso
 * Djiboutian franc
 * Eritrean nakfa
 * Guinean franc
 * North Korean won
 * Sierra Leonean leone
 * Somali shilling
 * Tajikistani somoni
 * Tongan paʻanga
 * Falkland Islands pound
 * Iraqi Dinar


Bahasa
Indonesia,English,한국어,日本語,Português,Русский,Español,Français,ไทย,Italiano,Deutsch,Polski,Nederlands,Bahasa
Melayu,svenska,norsk,čeština,Lietuvis,Latvietis,Suomalainen,Ελληνικά,Eestlane,dansk,Magyar,Romanian,Slovenščina,Український,Slovenská,Български,Hrvatski
jezik



SHIP TO ALL OVER THE WORLD

USA/UK/Etc. Only Need 7-15 Days


SHIP TO ALL OVER THE WORLD

USA/UK/Etc. Only Need 7-15 Days


SHIP TO ALL OVER THE WORLD

USA/UK/Etc. Only Need 7-15 Days


SHIP TO ALL OVER THE WORLD

USA/UK/Etc. Only Need 7-15 Days
 * 1
 * 2

Hot Club Teams Area

The Premier League

La Liga

Serie A

Ligue 1

Bundesliga

Hot National Teams

Featured collection
42% OFF
Save €17.75

2023/2024 Napoli Player Version Away Soccer Jersey 1:1 Thai Quality
mysite
€19.53 €37.29
56% OFF
Save €18.69

2023/2024 Napoli Soccer Commemorative Edition Blue Jersey 1:1 Thai Quality
mysite
€14.86 €33.55
56% OFF
Save €18.69

2022 FIFA World Cup Ecuador Away Jersey
mysite
€14.86 €33.55
56% OFF
Save €18.69

2021 / 2022 Liverpool Soccer Jersey 1:1 Thai Quality Away
mysite
€14.86 €33.55
56% OFF
Save €25.23

2023/2024 Long Sleeve Ajax Away Football Shirt1:1 Thai Quality
mysite
€19.53 €44.76
56% OFF
Save €25.23

2022 FIFA World Cup Player Version France Away Football Shirt
mysite
€19.53 €44.76
54% OFF
Save €53.36

2023 São Paulo Windbreaker Purple Soccer Jersey 1:1 Thai Quality
mysite
€44.76 €98.13
56% OFF
Save €18.69

2023/2024 Arsenal Third Away Shorts
mysite
€14.86 €33.55
56% OFF
Save €18.69

2023/2024 Granada Home Football Shirt 1:1 Thai Quality
mysite
€14.86 €33.55
56% OFF
Save €25.23

2023/2024 Long Sleeve Liverpool Home Football Shirt 1:1 Thai Quality
mysite
€19.53 €44.76
54% OFF
Save €53.36

2023 Real Madrid Windbreaker Navy blue Soccer Jersey 1:1 Thai Quality
mysite
€44.76 €98.13
56% OFF
Save €18.69

2022 Brazil Goalkeeper Jersey Black
mysite
€14.86 €33.55
56% OFF
Save €25.23

2023/2024 Player Version Olympique de Marseille Third Away Football Jersey
mysite
€19.53 €44.76
56% OFF
Save €18.69

2023/2024 Torino Home Soccer Jersey 1:1 Thai Quality
mysite
€14.86 €33.55
56% OFF
Save €18.69

2022/2023 Psg Paris Saint-Germain Third Away Football Shirt
mysite
€14.86 €33.55
56% OFF
Save €18.69

2023/2024 Ittihad Third Away Football Shirt 1:1 Thai Quality
mysite
€14.86 €33.55
56% OFF
Save €25.23

2023/2024 Long Sleeve Atletico Madrid Home1:1 Thai Quality
mysite
€19.53 €44.76
56% OFF
Save €18.69

2024 Brazil Home Football Shirt 1:1 Thai Quality
mysite
€14.86 €33.55
56% OFF
Save €25.23

2009/2010 Retro AC Milan Home Football Shirt 1:1 Thai Quality
mysite
€19.53 €44.76
56% OFF
Save €18.69

2022/2023 PSG Fourth Away Shorts
mysite
€14.86 €33.55
56% OFF
Save €18.69

2022 FIFA World Cup Uruguay Home Soccer Jersey
mysite
€14.86 €33.55
54% OFF
Save €53.36

2021/2022 Manchester City Jersey Windbreaker Blue And White
mysite
€44.76 €98.13
56% OFF
Save €25.23

Player Version Dortmund Football Shirt Hone 2023 / 2024 1:1 Thai Quality
mysite
€19.53 €44.76
56% OFF
Save €25.23

2024 Player Version England Away Football Shirt 1:1 Thai Quality
mysite
€19.53 €44.76
View all
Other Customers Comment To Joyfball

Collection list

Are we a scam? Click here to solve your puzzle
Classic Football Moment

View all

SUPPORT

TERMS AND CONDITIONS SHIPPING INFORMATION RETURN POLICY PRIVACY POLICY
INTELLECTUAL PROPERTY RIGHTS CONTACT US ABOUT US

joyfball

joyfball.club provides the best shopping experience for football lovers. We are
always striving for sharing our passion with you.

 * 

© 2024 joyfball 




111
GIFTS

POINTS



Item has been added
${(function(){ const products = data.products; const getDefaultVariant =
function(product){ if (product.min_price_variant.available){ return
product.min_price_variant; }else { const avail_variants =
product.variants.filter(function(variant){ return variant.available; }); if
(avail_variants.length) { return avail_variants[0]; } } }; const toQuery = obj
=> Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v =>
`${k}[]=${encodeURIComponent(v)}`).join('&') :
`${k}=${encodeURIComponent(obj[k])}` ) .join('&'); const getDefaultTrackParams =
function(product, index){ const variant = getDefaultVariant(product); const
params = { aid: 'smart_recommend.2.' + data.id, scm: product.scm || data.scm ||
'', spm: data.spmBase + '.' + index, ssp: data.ssp || '', }; const trackParams =
Object.keys(params).map(function(key){ return params[key]; }).join('__'); return
trackParams; }; const hasMore = (data.products.length -
data.target_top_product_num - data.page * data.limit) === 0; return `
${(function(){ return `
${data.config.pop_title}

${data.rebate_tips || ''}
`; })()}
${product.title}
Added




`; })()}

class SpzCustomComponent extends SPZ.BaseElement { constructor(element) {
super(element); this.templates_ = null; this.container_ = null;
this._atcLineItem = {}; this.cart_ = {}; this.top_product_ids_ = [];
this.products_ = []; this.activityId_ = null; this.rendered_ = false;
this.myInterceptor_ = null; this.i18n_ = {}; this.config_ = {}; this.page_ = 1;
this.limit_ = 10; this.loading_ = false; } static deferredMount() { return
false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER;
} buildCallback() { this.templates_ = SPZServices.templatesForDoc(this.element);
this.setAction_(); } mountCallback() { console.log('pop mounted'); this.i18n_ =
window.smartRecommendI18n &&
window.smartRecommendI18n[document.documentElement.lang || 'en-US'] || {}; const
cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const
modalEl = document.getElementById("smart_cart_pop_modal"); const spmBase =
`smart_recommend_2`; const extra = { spmBase: spmBase, i18n: this.i18n_, };
const that = this; document.addEventListener('dj.addToCart', (event) => { try {
const e = event.detail; if (e.source === 'buy_now' || window.__upsell_block ||
this.rendered_) return; that.fetchActivityData({product_id: e.product_id,
variant_id: e.variant_id}).then(data => { if (!data || !data.products ||
!data.products.length) return; that.config_ = data.config; const recommendStyle
= document.createElement('style'); recommendStyle.innerHTML = `
#plugin_recommend_atc_pop { display: none !important; } `;
document.head.appendChild(recommendStyle); if (data.config.pop_frequency ===
'once' && window.sessionStorage.getItem('smart_pop_times') > 0) return;
SPZ.whenApiDefined(cartPopRenderEl).then(function(api){
api.render(Object.assign({}, data, extra), true).then(function() {
that.rendered_ = true; if (data.products.length) { const headEl =
document.getElementById("smart_cart_pop_head_render"); if (headEl) {
SPZ.whenApiDefined(headEl).then(function(head){ head.render({ data: data }); });
} SPZ.whenApiDefined(modalEl).then(function(api){
that.impressListen('#smart_cart_pop_activity', function(){
that.trackPluginImpression_(data); }); api.open(); const intersectionObserver =
new IntersectionObserver( function (entries) { if (entries[0].intersectionRatio
> 0){ !that.loading_ && (that.products_.length - that.target_top_product_num_)
=== that.page_ * that.limit_ && that.viewMore(); } }, { threshold: [0.1] } );
intersectionObserver.observe(
document.querySelector('#smart_cart_pop_view_more_text') ); }); } }) }); }) }
catch (e) { console.error(e); } }); } unmountCallback() { } viewMore () { const
cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const that =
this; const data = {}; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){
that.fetchActivityData({ page: that.page_ + 1, limit: that.limit_
}).then(function(data) { data.products = that.products_;
data.target_top_product_num = that.target_top_product_num_; data.i18n =
that.i18n_; data.spmBase = `smart_recommend_2`; api.render(data); }) }) }
fetchActivityData(data) { const that = this; if (data.product_id) {
that._atcLineItem = data; } that.loading_ = true; return
that.getCart().then(cart => { that.cart_ = cart.cart; return
fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_activities", {
method: "POST", headers: { "Content-Type": "application/json", "store-id":
window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ "show_type": 2,
"line_item": { "product_id": that._atcLineItem.product_id, "variant_id":
that._atcLineItem.variant_id, }, line_items: cart.cart.line_items, "page":
data.page || 1, "limit": data.limit || 10, }) }).then(function(res){ if(res.ok){
return res.json(); } }).then(function(data){ data.cart = cart.cart; if
(data.page === 1) { that.target_top_product_num_ = data.target_top_product_num
|| 0; } that.products_ = that.products_.concat(data.products || []); that.page_
= data.page || 1; that.limit_ = data.limit || 10; return data;
}).catch(function(e){ console.log(e); }).finally(function(){ that.loading_ =
false; }) }); }; setAction_() { this.registerAction('changeBannerColor', (data)
=> { if (!data.args.data || !data.args.data.data || !data.args.data.data.data)
return false; const config = data.args.data.data.data.config; const bannerBgEl =
document.querySelector('.smart_cart_pop_banner_bg'); if (bannerBgEl && config) {
bannerBgEl.style.background = config.banner_bg_color; bannerBgEl.style.color =
config.banner_text_color; } }); this.registerAction('handleProductChange',
(data) => { const that = this; const imageEl =
document.getElementById(`smart_cart_pop_image_${data.args.data.product_id}`);
SPZ.whenApiDefined(imageEl).then(function(api){ api.render({ data:
data.args.data, config: that.config_ }); }); const atcTextEl =
document.getElementById(`smart_cart_pop_atc_${data.args.data.product_id}`);
SPZ.whenApiDefined(atcTextEl).then(function(api){ api.render({ data:
data.args.data, defaultText: data.args.defaultText, soldOutText:
that.i18n_.sold_out }); }); if (data.args.data.variant.available) {
document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.remove('zb-pointer-events-none');
} else {
document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.add('zb-pointer-events-none');
} }); this.registerAction('handleProduct', (detail) => { const that = this;
this.renderProductsForm_(detail.args.data.data); });
this.registerAction('addATCHook', (data) => { const params = data.args;
this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({
event: 'dj.addToCart', params: { aid: 'smart_recommend.2.' + params.activity_id,
ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm:
`..${window.SHOPLAZZA.meta.page.template_name}.${params.spm}`, }, once: true });
}); this.registerAction('handleAtcSuccess', (detail) => {
detail.args.data.product = detail.args.data.product || {};
detail.args.data.variant = detail.args.data.variant || {}; const defParams =
detail.args.product.split('__'); const product_id = detail.args.data.product.id;
const product_title = detail.args.data.product.title; const variant_id =
detail.args.data.variant.id; const price = detail.args.data.variant.price; const
aid = defParams[0]; const ifb = detail.args.data.product.ifb; const cfb =
detail.args.data.product.cfb; const scm = defParams[1]; const spm =
defParams[2]; const ssp = defParams[3]; const params = { id: product_id,
product_id: product_id, number: 1, name: product_title, variant_id: variant_id,
childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid:
aid, ifb: ifb, cfb: cfb, scm: scm, spm:
`..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; const
activity_id = `${detail.args.activity_id}`; const target_drive_way =
detail.args.target_drive_way;
document.getElementById(`smart_cart_pop_loading_${product_id}`).classList.add('zb-hidden');
document.getElementById(`smart_cart_pop_added_${product_id}`).classList.remove('zb-hidden');
setTimeout(() => {
document.getElementById(`smart_cart_pop_added_${product_id}`).classList.add('zb-hidden');
document.getElementById(`smart_cart_pop_atc_${product_id}`).classList.remove('zb-hidden');
document.getElementById(`smart_cart_pop_atc_btn_${product_id}`).classList.remove('zb-pointer-events-none');
}, 1000); this.tranckAddToCart(params); if (target_drive_way === 'rebate') {
const bannerEl = document.getElementById(`smart_cart_pop_banner`);
this.getRecommendInfo(activity_id).then(res => { if (res && res.rebate_tips) {
bannerEl.innerHTML = res.rebate_tips; } }) } });
this.registerAction('handleCartSummary', (event) => { const that = this; const
checkoutButtonEle = document.getElementById("smart_cart_pop_checkout_button");
if (checkoutButtonEle) {
SPZ.whenApiDefined(checkoutButtonEle).then(function(api){ api.render({ i18n:
that.i18n_ }, false); }); } const tipEl =
document.getElementById("smart_cart_pop_tip_info"); const cart = event &&
event.args && event.args.data && event.args.data.data; if (!tipEl || !cart)
return; let total_price = cart.total_price; if (!total_price) {
SPZ.whenApiDefined(tipEl).then(function(api){ api.render({ total_price:
total_price, i18n: that.i18n_ }, false); }); } else {
this.getBindDiscount_(cart.line_items).then(res => { if (res &&
res.discount_code){ const total = cart.line_price - cart.total_discount -
res.bundle_discount_value; if (total > 0) { total_price = total; } else {
total_price = 0; } } SPZ.whenApiDefined(tipEl).then(function(api){ api.render({
total_price: total_price, i18n: that.i18n_ }, false); }); }) } });
this.registerAction('open', () => {
window.sessionStorage.setItem('smart_pop_times',
Number(window.sessionStorage.getItem('smart_pop_times')) + 1); });
this.registerAction('close', () => { this.rendered_ = false; this.products_ =
[]; window.djInterceptors &&
window.djInterceptors.track.eject(this.myInterceptor_); }); } getCart() { return
fetch(`${window.SHOPLAZZA.routes.root || ''}/api/cart`, { method: 'GET',
headers: { 'Content-Type': 'application/json; charset=UTF-8', }, }).then(res =>
res.json()) } getRecommendInfo (activity_id) { return this.getCart().then(cart
=> { this.cart_ = cart.cart; return fetch(`${window.SHOPLAZZA.routes.root ||
''}/api/possum/recommend_info`, { method: 'POST', headers: { 'Content-Type':
'application/json; charset=UTF-8', }, body: JSON.stringify({ show_type: 2,
rule_id: `${activity_id}`, line_items: cart.cart.line_items, line_item:
this._atcLineItem, }) }).then(res => res.json()) }) } renderProductsForm_(data)
{ const products = data.products; const listPopRenderEl =
document.getElementById("smart_cart_pop_render"); if (!listPopRenderEl) return;
listPopRenderEl.querySelectorAll('.smart_cart_pop_atc_btn_bg').forEach(function(el){
el.style.background = data.config.add_to_cart_button_color; });
products.forEach(function(product){ const productId = product.id; const
productFormEls =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]`);
let variantsEl =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]
#smart_cart_pop_variant_${productId}_mobile ljs-variants`); if
(window.innerWidth > 768) { variantsEl =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]
#smart_cart_pop_variant_${productId}_pc ljs-variants`); }
productFormEls.forEach(function(el){ SPZ.whenApiDefined(el).then(function(api){
api.setProduct(product); }); }); variantsEl.forEach(function(el){
SPZ.whenApiDefined(el).then(function(api){ api.handleRender(product); }); }) });
} tranckAddToCart(detail) { if (window.$) {
window.$(document.body).trigger('dj.addToCart', detail); } }
trackPluginImpression_(rule){ if (window.sa && window.sa.track) {
window.sa.track("module_impressions", { aid: `smart_recommend.2.${rule.id}` });
} } getBindDiscount_(carts) { let bundle_sale_ids = []; try { bundle_sale_ids =
sessionStorage['bundle_sale_ids'] &&
JSON.parse(sessionStorage['bundle_sale_ids']).filter((item, index, arr) =>
arr.indexOf(item, 0) === index).slice(-5); } catch (err) { console.error(err); }
if (!carts.length) { Promise.resolve(); } return
fetch(`${window.SHOPLAZZA.routes.root || ''}/api/bundle-sales/cart`, { method:
'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8',
'store-id': window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ cart:
carts, action_type: 'cart', bundle_sale_ids }) }).then(res => res.json()) }
impressListen(selector, cb) { const el = document.querySelector(selector); const
onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el &&
!el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else
if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart',
SpzCustomComponent); ${function(){ return `
${data.data.rebate_tips || ''}
`; }()} ${function(){ const getImageHeight = function(image){ const width =
image.width || 500; const height = image.height || 500; const image_size =
data.config.image_size || 0; let ratio = 0; if(image_size == 0){ ratio = (height
/ width).toFixed(2); }else if(image_size == 1){ ratio = 1.5; } return 132 *
ratio; }; const image = data.data.variant.image || data.data.product.image;
return ` `; }()}
${(function(){ const product = data.product; const avail_variants =
product.variants.filter(function(variant){ return variant.available; }); const
selected_variant = product.min_price_variant.available ?
product.min_price_variant : avail_variants.length && avail_variants[0]; return `
${option.name}
${ option.values.map(function(value, index){ const checked =
selected_variant["option"+option.position] == value ? "checked": ""; return `
${value}
` }).join("") }
` })()}
${(function(){ const variant = data.variant; return `

`; })()} ${(function(){ const variant = data.variant; return `
${ variant.options.map(function(option){ return option.value; }).join("/") ||
'Not exist' }
`; })()} ${(function(){ const variant = data.data && data.data.variant; const
defaultText = data.defaultText || 'Add To Cart'; const text = (!variant ||
variant.available) ? defaultText: data.soldOutText; return `
${text}
`; })()} ${(function(){ let cart = data; if(data.data) { cart = data.data; }
return `
${cart.item_count >=0 ? cart.item_count : '..'}
`; })()} ${(function(){ return `
${data.i18n.checkout}
`; })()}

Originaltext

Diese Übersetzung bewerten
Mit deinem Feedback können wir Google Übersetzer weiter verbessern