Pertandingan populerPertandingan populer hari ini 0 pertandingan
prevnext
Kejuaraan Universitas JepangKejuaraan Universitas Jepang  13:12
NiigataUniversityNiigataUniversity
01
KyotoSangyoUniversityKyotoSangyoUniversity
Siaran langsung HD
Kejuaraan Universitas JepangKejuaraan Universitas Jepang  13:12
SapporoUniversitySapporoUniversity
11
ChukyoUniversityChukyoUniversity
Siaran langsung HD
Kejuaraan Universitas JepangKejuaraan Universitas Jepang  13:12
MomoyamaGakuinUniversityMomoyamaGakuinUniversity
22
ToinUniversityOfYokohamaToinUniversityOfYokohama
Siaran langsung HD
Liga D Korea SelatanLiga D Korea Selatan  14:12
DongbuPromyReservesDongbuPromyReserves
4351
SamsungThunders2SamsungThunders2
Siaran langsung HD
Indo D4Indo D4  14:12
Mohamed Abou GabalMohamed Abou Gabal
10
AkorFCJombangAkorFCJombang
Siaran langsung HD
Afghanistan Champions LeagueAfghanistan Champions League  14:12
AlIsteqlalAlIsteqlal
11
JawananPeroziJawananPerozi
Siaran langsung HD
Kejuaraan Vietnam U19Kejuaraan Vietnam U19  16:12
HoangAnhGiaLaiU19HoangAnhGiaLaiU19
00
SongLamNgheAnU19SongLamNgheAnU19
Akan segera dimulai
Kejuaraan Vietnam U19Kejuaraan Vietnam U19  16:12
BinhPhuocU19BinhPhuocU19
00
DongThapU19DongThapU19
Akan segera dimulai
Kejuaraan Vietnam U19Kejuaraan Vietnam U19  16:12
NinhBinhU19NinhBinhU19
00
Mostafa FathiMostafa Fathi
Akan segera dimulai
Kejuaraan Vietnam U19Kejuaraan Vietnam U19  16:12
SHBDaNangU19SHBDaNangU19
00
Mihkel AksaluMihkel Aksalu
Akan segera dimulai
Kejuaraan Vietnam U19Kejuaraan Vietnam U19  16:12
Dong Nai U19Dong Nai U19
00
CLBTPHCMU19CLBTPHCMU19
Akan segera dimulai
Indo D4Indo D4  16:12
PersedenDenpasarPersedenDenpasar
00
Gresik UnitedGresik United
Akan segera dimulai
Indo D4Indo D4  16:12
PersikutimUnitedPersikutimUnited
00
Igor Torres SartoriIgor Torres Sartori
Akan segera dimulai
Liga Bola Basket Nasional WanitaLiga Bola Basket Nasional Wanita  16:12
Southside WSouthside W
00
Melbourne Boomers WMelbourne Boomers W
Akan segera dimulai
Kejuaraan Vietnam U19Kejuaraan Vietnam U19  16:12
CongAnNhanDanU19CongAnNhanDanU19
00
Jason TaylorJason Taylor
Akan segera dimulai
Piala Federasi BangladeshPiala Federasi Bangladesh  16:12
ArambaghKSArambaghKS
00
FortisFCFortisFC
Akan segera dimulai
Piala Federasi BangladeshPiala Federasi Bangladesh  16:12
Charlie WykeCharlie Wyke
00
Lukas RathLukas Rath
Akan segera dimulai
Liga Pemuda IsraelLiga Pemuda Israel  16:12
Jakub SłowikJakub Słowik
00
Bianca SchmidtBianca Schmidt
Akan segera dimulai
Liga NasionalLiga Nasional  17:12
BK ASTANABK ASTANA
00
Tobol KostanaTobol Kostana
Akan segera dimulai
Liga Super UzbekistanLiga Super Uzbekistan  17:12
Aral NukusAral Nukus
00
BuxoroFKBuxoroFK
Akan segera dimulai
Liga Kedua TurkiLiga Kedua Turki  18:12
MussporMusspor
00
FethiyesporFethiyespor
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  18:12
KirsehirKoyhizmetleriKirsehirKoyhizmetleri
00
TurkMetal1963TurkMetal1963
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  18:12
YesilyurtBelediyesporYesilyurtBelediyespor
00
Nikola KaraklajićNikola Karaklajić
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  18:12
MazidagiFosfatspoMazidagiFosfatspo
00
NigdeBelediyesisporNigdeBelediyesispor
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  18:12
FatsaBelediyesporFatsaBelediyespor
00
YeniAmasyaSporYeniAmasyaSpor
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  18:12
ArtvinHopasporArtvinHopaspor
00
Curtis TiltCurtis Tilt
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  18:12
Nemanja KartalNemanja Kartal
00
BulancakBulancak
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  18:12
SebatGencliksporSebatGenclikspor
00
OrdusporOrduspor
Akan segera dimulai
Liga Pemuda IsraelLiga Pemuda Israel  18:12
Rafal PietrzakRafal Pietrzak
00
Alan CzerwińskiAlan Czerwiński
Akan segera dimulai
Liga U19 KroasiaLiga U19 Kroasia  18:12
ZagreblocomotiveU19ZagreblocomotiveU19
00
HajdukSplitU19HajdukSplitU19
Akan segera dimulai
Liga B3 JepangLiga B3 Jepang  18:12
BC Kota ShinagawaBC Kota Shinagawa
00
Saitama BroncosSaitama Broncos
Akan segera dimulai
Liga SuperLiga Super  18:12
KavkasiaKavkasia
00
Torpedo KutaisiTorpedo Kutaisi
Akan segera dimulai
Liga Bola Basket KoreaLiga Bola Basket Korea  18:12
Goyang Sono SkygunnersGoyang Sono Skygunners
00
Suwon KT SonicboomSuwon KT Sonicboom
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  18:12
TalasgucuBelediyesporTalasgucuBelediyespor
00
KahramanmarassporKahramanmarasspor
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  18:12
DiyarbakirsporDiyarbakirspor
00
KilisBld.SporKilisBld.Spor
Akan segera dimulai
Liga Kedua TurkiLiga Kedua Turki  18:12
GMGKastamonusporGMGKastamonuspor
00
Rafael CariocaRafael Carioca
Akan segera dimulai
HK U22LHK U22L  19:12
HongKongFCU22HongKongFCU22
00
LeeManFCU22LeeManFCU22
Akan segera dimulai
Liga Kedua TurkiLiga Kedua Turki  19:12
Joe LewisJoe Lewis
00
Karacabey BelediyesporKaracabey Belediyespor
Akan segera dimulai
Liga Premier KenyaLiga Premier Kenya  19:12
Joao PlataJoao Plata
00
BandariBandari
Akan segera dimulai
EuroBasket U20EuroBasket U20  19:12
Selatan China AASelatan China AA
00
Chun Yu BCChun Yu BC
Akan segera dimulai
Philippines MPBLPhilippines MPBL  19:12
Quezon HuskersQuezon Huskers
00
AbraWeaversAbraWeavers
Akan segera dimulai
Liga Portugal U23Liga Portugal U23  19:12
Devis EpassyDevis Epassy
00
BragaU23BragaU23
Akan segera dimulai
Kejuaraan Musim Semi 1Kejuaraan Musim Semi 1  19:12
Norman TheuerkaufNorman Theuerkauf
00
Torino U20Torino U20
Akan segera dimulai
Liga Kedua TurkiLiga Kedua Turki  19:12
Aliaga FutbolAliaga Futbol
00
AksaraysporAksarayspor
Akan segera dimulai
Liga Kedua TurkiLiga Kedua Turki  19:12
MuglasporMuglaspor
00
KaramanFKKaramanFK
Akan segera dimulai
Liga Kedua TurkiLiga Kedua Turki  19:12
Mateusz MachajMateusz Machaj
00
BeyogluYeniCarsiBeyogluYeniCarsi
Akan segera dimulai
Asosiasi Bola Basket Wanita TiongkokAsosiasi Bola Basket Wanita Tiongkok  19:12
Shandong WShandong W
00
Xinjiang WXinjiang W
Akan segera dimulai
Asosiasi Bola Basket Wanita TiongkokAsosiasi Bola Basket Wanita Tiongkok  19:12
Wanita Shanxi TianZeWanita Shanxi TianZe
00
Wanita Niushoushan JiangsuWanita Niushoushan Jiangsu
Akan segera dimulai
Liga Cadangan SingapuraLiga Cadangan Singapura  19:12
GeylangInternationalU23GeylangInternationalU23
00
AlbirexNiigataU23AlbirexNiigataU23
Akan segera dimulai
Asosiasi Bola Basket Wanita TiongkokAsosiasi Bola Basket Wanita Tiongkok  19:12
Wanita GuangDong XintongshengWanita GuangDong Xintongsheng
00
Wuhan WWuhan W
Akan segera dimulai
Asosiasi Bola Basket TiongkokAsosiasi Bola Basket Tiongkok  19:12
Shenzhen Marco PoloShenzhen Marco Polo
00
Jiutai Rural Commercial BankJiutai Rural Commercial Bank
Akan segera dimulai
Asosiasi Bola Basket TiongkokAsosiasi Bola Basket Tiongkok  19:12
Beijing KongguBeijing Konggu
00
Pionir TianjinPionir Tianjin
Akan segera dimulai
Asosiasi Bola Basket TiongkokAsosiasi Bola Basket Tiongkok  19:12
Fujian XunxingFujian Xunxing
00
Jiangsu KendiyaJiangsu Kendiya
Akan segera dimulai
Asosiasi Bola Basket TiongkokAsosiasi Bola Basket Tiongkok  19:12
Zhejiang Chouzhou JinzuZhejiang Chouzhou Jinzu
00
Harimau Selatan GuangdongHarimau Selatan Guangdong
Akan segera dimulai
Asosiasi Bola Basket TiongkokAsosiasi Bola Basket Tiongkok  19:12
Shanxi FenjiuShanxi Fenjiu
00
Ningbo TingwoNingbo Tingwo
Akan segera dimulai
Asosiasi Bola Basket TiongkokAsosiasi Bola Basket Tiongkok  19:12
Nanjing ToupaisujiuNanjing Toupaisujiu
00
Shanghai JiushiShanghai Jiushi
Akan segera dimulai
Liga Pemuda IsraelLiga Pemuda Israel  19:12
IroniTiberiasU19IroniTiberiasU19
00
Andrigo Oliveira de AraujoAndrigo Oliveira de Araujo
Akan segera dimulai
Liga Pemuda Arab SaudiLiga Pemuda Arab Saudi  19:12
Al-FathYouthAl-FathYouth
00
Pemuda Al-TaawounPemuda Al-Taawoun
Akan segera dimulai
Divisi 2 Arab SaudiDivisi 2 Arab Saudi  19:12
MudharMudhar
00
Al SafaAl Safa
Akan segera dimulai
Liga Pemuda Arab SaudiLiga Pemuda Arab Saudi  19:12
Al-JeelYouthsAl-JeelYouths
00
Al-QadasiyaYouthAl-QadasiyaYouth
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  20:12
UsaksporUsakspor
00
Bergama BelediyesporBergama Belediyespor
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  20:12
GalataGalata
00
BursaYldrmsporBursaYldrmspor
Akan segera dimulai
Liga Kedua TurkiLiga Kedua Turki  20:12
InegolsporInegolspor
00
AnkaragucuAnkaragucu
Akan segera dimulai
Liga SuperLiga Super  20:12
Batumi-RSUBatumi-RSU
00
TSU Hyundai TbilisiTSU Hyundai Tbilisi
Akan segera dimulai
Liga Kedua TurkiLiga Kedua Turki  20:12
Mesa, NanoMesa, Nano
00
BursasporBursaspor
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  20:12
BeykozIshakliSporBeykozIshakliSpor
00
CankayaFKCankayaFK
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  20:12
CorlusporCorluspor
00
YesilYalovaFKYesilYalovaFK
Akan segera dimulai
Liga Pemuda IsraelLiga Pemuda Israel  20:12
HapoelHaifaU19HapoelHaifaU19
00
AshdodMSU19AshdodMSU19
Akan segera dimulai
Indo D4Indo D4  20:12
SangMaestroSangMaestro
00
PersiboBojonegoroPersiboBojonegoro
Akan segera dimulai
Indo D4Indo D4  20:12
PersebataLembataPersebataLembata
00
Richard KrizanRichard Krizan
Akan segera dimulai
Indo D4Indo D4  20:12
Jimmy RoyeJimmy Roye
00
Diego Rivas RegoDiego Rivas Rego
Akan segera dimulai
Piala Olimpiade TelukPiala Olimpiade Teluk  20:12
Adrián RamosAdrián Ramos
00
IraqU23IraqU23
Akan segera dimulai
Liga 3 RumaniaLiga 3 Rumania  20:12
CFBihorulBeiusCFBihorulBeius
00
SighetuMarmatieiSighetuMarmatiei
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  20:12
Cristopher VarelaCristopher Varela
00
EdirnesporGenclikEdirnesporGenclik
Akan segera dimulai
Liga 1 ThailandLiga 1 Thailand  20:12
Rayong FCRayong FC
00
Ratchaburi FCRatchaburi FC
Akan segera dimulai
Liga Pemuda Arab SaudiLiga Pemuda Arab Saudi  20:12
AlHilalYouthAlHilalYouth
00
Al-AhliSaudiFCYouthAl-AhliSaudiFCYouth
Akan segera dimulai
Divisi 2 Arab SaudiDivisi 2 Arab Saudi  20:12
ArarFCArarFC
00
Al-QotahAl-Qotah
Akan segera dimulai
Liga Pemuda Arab SaudiLiga Pemuda Arab Saudi  20:12
Sun JunSun Jun
00
AlIttihadYouthAlIttihadYouth
Akan segera dimulai
Divisi 2 Arab SaudiDivisi 2 Arab Saudi  20:12
AlLiwaaAlLiwaa
00
Andrew BoyceAndrew Boyce
Akan segera dimulai
Divisi 2 Arab SaudiDivisi 2 Arab Saudi  20:12
Kristos TheodorakisKristos Theodorakis
00
Al-KawkabAl-Kawkab
Akan segera dimulai
Divisi 2 Arab SaudiDivisi 2 Arab Saudi  20:12
Al-QalahAl-Qalah
00
OhodOhod
Akan segera dimulai
Divisi 2 MesirDivisi 2 Mesir  20:12
BanhaBanha
00
LevelsFCLevelsFC
Akan segera dimulai
Divisi 2 MesirDivisi 2 Mesir  20:12
TamiyaYouthCenterTamiyaYouthCenter
00
ElAlameenElAlameen
Akan segera dimulai
Liga Utama Wanita MesirLiga Utama Wanita Mesir  20:12
Huseyin ColakHuseyin Colak
00
PyramidsFCWomenPyramidsFCWomen
Akan segera dimulai
Divisi 2 MesirDivisi 2 Mesir  20:12
Nogoom El MostakbalNogoom El Mostakbal
00
ElShamsElShams
Akan segera dimulai
Divisi 2 MesirDivisi 2 Mesir  20:12
DiamondSCDiamondSC
00
IthadAlShortahIthadAlShortah
Akan segera dimulai
Ramah InternasionalRamah Internasional  20:12
Yasin DulgerYasin Dulger
00
PeruU16PeruU16
Akan segera dimulai
Divisi 2 Arab SaudiDivisi 2 Arab Saudi  20:12
Tarlan AhmadliTarlan Ahmadli
00
AlNairyahAlNairyah
Akan segera dimulai
Divisi 2 Arab SaudiDivisi 2 Arab Saudi  20:12
WajjWajj
00
Timos TselepidisTimos Tselepidis
Akan segera dimulai
Divisi 2 Arab SaudiDivisi 2 Arab Saudi  20:12
Bruno Ecuele MangaBruno Ecuele Manga
00
Bisha FCBisha FC
Akan segera dimulai
Liga Pemuda Arab SaudiLiga Pemuda Arab Saudi  20:12
Anton SkipperAnton Skipper
00
Al-Orubah PemudaAl-Orubah Pemuda
Akan segera dimulai
EuroBasket U20EuroBasket U20  20:12
ChiNikChiNik
00
ChunlungWTSChunlungWTS
Akan segera dimulai
Liga Pemuda Arab SaudiLiga Pemuda Arab Saudi  20:12
AlWehdaMeccaYouthAlWehdaMeccaYouth
00
João MárioJoão Mário
Akan segera dimulai
Liga Pemuda IsraelLiga Pemuda Israel  21:12
HapoelJerusalemMalkaU19HapoelJerusalemMalkaU19
00
Max EnglMax Engl
Akan segera dimulai
Liga 2 Inggris U21Liga 2 Inggris U21  21:12
Sheffield Wed U21Sheffield Wed U21
00
FleetwoodTownU21FleetwoodTownU21
Akan segera dimulai
Liga Premier UgandaLiga Premier Uganda  21:12
Mitchell DijksMitchell Dijks
00
Ilya MolteninovIlya Molteninov
Akan segera dimulai
Liga Premier KenyaLiga Premier Kenya  21:12
KCBSCKCBSC
00
APSBometAPSBomet
Akan segera dimulai
Liga Pemuda IsraelLiga Pemuda Israel  21:12
Marvin DuckschMarvin Ducksch
00
Bnei Yehuda Tel Aviv U19Bnei Yehuda Tel Aviv U19
Akan segera dimulai
Liga 2 Inggris U21Liga 2 Inggris U21  21:12
Barnsley U21Barnsley U21
00
Huddersfield Town U21Huddersfield Town U21
Akan segera dimulai
Liga 2 Inggris U21Liga 2 Inggris U21  21:12
WiganAthleticU21WiganAthleticU21
00
Hull U21Hull U21
Akan segera dimulai
Kejuaraan Musim Semi 1Kejuaraan Musim Semi 1  21:12
AC Milan U19AC Milan U19
00
Parma U20Parma U20
Akan segera dimulai
Liga Premier UgandaLiga Premier Uganda  21:12
Roman PotocnyRoman Potocny
00
UgandaPoliceFCUgandaPoliceFC
Akan segera dimulai
Kejuaraan Musim Semi 1Kejuaraan Musim Semi 1  21:12
Iu Ranera GrauIu Ranera Grau
00
ASRomaU19ASRomaU19
Akan segera dimulai
CBA PGCBA PG  21:12
Shanxi FenjiuShanxi Fenjiu
00
Ningbo TingwoNingbo Tingwo
Akan segera dimulai
CBA PGCBA PG  21:12
Nanjing ToupaisujiuNanjing Toupaisujiu
00
Shanghai JiushiShanghai Jiushi
Akan segera dimulai
CBA PGCBA PG  21:12
Fujian XunxingFujian Xunxing
00
Jiangsu KendiyaJiangsu Kendiya
Akan segera dimulai
Liga Pemuda IsraelLiga Pemuda Israel  21:12
Hapoel Beer Sheva U19Hapoel Beer Sheva U19
00
Hapoel Akko U19Hapoel Akko U19
Akan segera dimulai
Liga Pemuda IsraelLiga Pemuda Israel  21:12
Michal KucharczykMichal Kucharczyk
00
BeitarJerusalemOrenU19BeitarJerusalemOrenU19
Akan segera dimulai
Liga Super Bola Basket 1Liga Super Bola Basket 1  22:12
OlimpChelyabinskOlimpChelyabinsk
00
BC NovosibirskBC Novosibirsk
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  22:12
AltaySporKulubuAltaySporKulubu
00
Arnaud BalijonArnaud Balijon
Akan segera dimulai
Ramah InternasionalRamah Internasional  22:12
SouthAfricaSouthAfrica
00
GhanaGhana
Akan segera dimulai
Liga Ketiga TurkiLiga Ketiga Turki  22:12
Hans Christian BernatHans Christian Bernat
00
AfyonsporAfyonspor
Akan segera dimulai
Liga Super Bola Basket 1Liga Super Bola Basket 1  22:12
MetallurgMagnitogorskMetallurgMagnitogorsk
00
Altay Keranjang BarnaulAltay Keranjang Barnaul
Akan segera dimulai
Ramah InternasionalRamah Internasional  22:12
ItalyU16ItalyU16
00
PortugalU16PortugalU16
Akan segera dimulai
Liga A2 Wanita ItaliaLiga A2 Wanita Italia  22:12
Wanita MatelicaWanita Matelica
00
Wanita Virtus Eiren RagusaWanita Virtus Eiren Ragusa
Akan segera dimulai
Liga Bola Basket Turki 2Liga Bola Basket Turki 2  22:12
OGM OrmansporOGM Ormanspor
00
BakkeiBakkei
Akan segera dimulai
Liga Utama Bola Basket Wanita RusiaLiga Utama Bola Basket Wanita Rusia  22:12
Wanita NadezhdaWanita Nadezhda
00
Wanita Spartak Moscow RegionWanita Spartak Moscow Region
Akan segera dimulai
KejuaraanKejuaraan  22:12
GrodnoGrodno
00
BrestBrest
Akan segera dimulai
Ramah InternasionalRamah Internasional  22:12
IndependientedelValleU20IndependientedelValleU20
00
VenezuelaU16VenezuelaU16
Akan segera dimulai
Liga D2 Bola Basket AdriatikLiga D2 Bola Basket Adriatik  23:12
VojvodinaVojvodina
00
FK PodgoricaFK Podgorica
Akan segera dimulai
Liga SuperLiga Super  23:12
VSAVSA
00
Investasi Energi Rustavi 1991Investasi Energi Rustavi 1991
Akan segera dimulai
Ramah InternasionalRamah Internasional  23:12
DemocraticRepublicoftheCongoDemocraticRepublicoftheCongo
00
ZambiaZambia
Akan segera dimulai
Liga Pemuda IsraelLiga Pemuda Israel  23:12
Maccabi Petach Tikva U19Maccabi Petach Tikva U19
00
MaccabiHerzliyaU19MaccabiHerzliyaU19
Akan segera dimulai
Liga Portugal U23Liga Portugal U23  23:12
MaritimoU23MaritimoU23
00
Vizela U23Vizela U23
Akan segera dimulai
Liga Portugal U23Liga Portugal U23  23:12
Gil Vicente U23Gil Vicente U23
00
RioAveU23RioAveU23
Akan segera dimulai
Liga Portugal U23Liga Portugal U23  23:12
AcademicoViseuU23AcademicoViseuU23
00
Mikkel KallesøeMikkel Kallesøe
Akan segera dimulai
Liga Bola Basket TunisiaLiga Bola Basket Tunisia  23:12
Club AfricainClub Africain
00
ES GouletteES Goulette
Akan segera dimulai
Liga Pemuda IsraelLiga Pemuda Israel  23:12
Hélder LopesHélder Lopes
00
Irvin Raul ParraIrvin Raul Parra
Akan segera dimulai
KejuaraanKejuaraan  23:12
Borisfen-Kalas MogilevBorisfen-Kalas Mogilev
00
Rguor MinskRguor Minsk
Akan segera dimulai
Liga Pemuda IsraelLiga Pemuda Israel  23:12
Hapoel Nir Ramat Hasharon U19Hapoel Nir Ramat Hasharon U19
00
MaccabiNetanyaU19MaccabiNetanyaU19
Akan segera dimulai
Nasional Wanita Pertama IsraelNasional Wanita Pertama Israel  23:12
HapoelJerusalemWomenHapoelJerusalemWomen
00
Universitas Tel Aviv (w)Universitas Tel Aviv (w)
Akan segera dimulai
Liga Utama Bola Basket Wanita RusiaLiga Utama Bola Basket Wanita Rusia  23:12
Wanita Energy IvanovoWanita Energy Ivanovo
00
Novosibirsk WNovosibirsk W
Akan segera dimulai
Finland I Divisioona WomenFinland I Divisioona Women  23:12
Turun Riento WanitaTurun Riento Wanita
00
Wanita Helsinki NmkyWanita Helsinki Nmky
Akan segera dimulai
Tampilkan lebih banyak kecocokan
*
*
*
* ``` */ const tabs_event = new EventTarget(); const tabs = document.getElementById("tabs"); ((tabs) => { if (!tabs) return; const tabs_wrapper = tabs?.querySelector(".tabs_wrapper"); tabs_wrapper.addEventListener("transitionstart", () => { const controller = new AbortController(); controller.signal.addEventListener("abort", () => tabs_wrapper.style.removeProperty("transition"), { once: true }); tabs_event.addEventListener("reset", () => controller.abort(), { signal: controller.signal }); tabs_wrapper.addEventListener("transitionend", () => controller.abort(), { signal: controller.signal }); tabs_wrapper.addEventListener("transitioncancel", () => controller.abort(), { signal: controller.signal }); }); tabs_event.addEventListener("anchor", () => { for (const item of tabs?.querySelectorAll(".tabs_item")) { if (item.classList.contains("is_active")) { const group_style = window.getComputedStyle(tabs); const wrapper_style = window.getComputedStyle(tabs_wrapper); const max = parseInt(group_style.getPropertyValue("width")) - parseInt(wrapper_style.getPropertyValue("width")); const offset = -item.offsetLeft; tabs_wrapper.style.setProperty("transition", "left 300ms ease-in-out"); tabs_wrapper.style.setProperty("left", `${offset max ? offset : max) : 0}px`); } } }) tabs.addEventListener("wheel", ($event) => { const { wheelDeltaX, wheelDeltaY } = $event $event.preventDefault(); const group_style = window.getComputedStyle(tabs); const wrapper_style = window.getComputedStyle(tabs_wrapper); const max = parseInt(group_style.getPropertyValue("width")) - parseInt(wrapper_style.getPropertyValue("width")); const diff = [wheelDeltaX, wheelDeltaY].filter((v) => v !== 0); const offset = parseInt(wrapper_style.getPropertyValue("left")) + (diff.every((v) => v > 0) !== diff.every((v) => v p + c, 0) > 0 ? Math.max(wheelDeltaX, wheelDeltaY) : Math.min(wheelDeltaX, wheelDeltaY)) : diff.reduce((p, c) => Math.max(...diff.map((v) => Math.abs(v))) === Math.abs(c) ? c : p, 0)); tabs_wrapper.style.setProperty("transition", "left 300ms ease-in-out"); tabs_wrapper.style.setProperty("left", `${offset max ? offset : max) : 0}px`); }, { passive: false }); let flag = false; tabs.addEventListener("mousedown", ($event) => { const { target, clientX, clientY } = $event; const controller = new AbortController(); controller.signal.addEventListener("abort", () => setTimeout(() => flag = false, 0), { once: true }); const group_style = window.getComputedStyle(tabs); const wrapper_style = window.getComputedStyle(tabs_wrapper); tabs_event.dispatchEvent(new Event("reset")); tabs_wrapper.style.removeProperty("transition"); const max = parseInt(group_style.getPropertyValue("width")) - parseInt(wrapper_style.getPropertyValue("width")); const $x = parseInt(wrapper_style.getPropertyValue("left")); window.addEventListener("mousemove", ($event) => { const offset = $x - (clientX - $event.clientX); tabs_wrapper.style.setProperty("left", `${offset max ? offset : max) : 0}px`); if ((clientX - $event.clientX) !== 0) flag = true; }, { signal: controller.signal }) window.addEventListener("mouseup", ($event) => controller.abort(), { signal: controller.signal }); window.addEventListener("mouseleave", ($event) => controller.abort(), { signal: controller.signal }); }); tabs.addEventListener("click", ({ target }) => { if (flag) return; const tabs_item = tabs?.querySelectorAll(".tabs_item"); for (let i = 0; i { const tabs_item = tabs?.querySelectorAll(".tabs_item"); for (let i = 0; i *
*
*
*
* * ``` */ const date_event = new EventTarget(); const date = document.getElementById("date"); ((date) => { if (!date) return; const date_wrapper = date.querySelector(".date_wrapper"); date_wrapper.addEventListener("transitionstart", (event) => { const controller = new AbortController(); controller.signal.addEventListener("abort", () => date_wrapper.style.removeProperty("transition"), { once: true }); date_event.addEventListener("reset", () => controller.abort(), { signal: controller.signal }); date_wrapper.addEventListener("transitionend", () => controller.abort(), { signal: controller.signal }); date_wrapper.addEventListener("transitioncancel", () => controller.abort(), { signal: controller.signal }); }); date_event.addEventListener("anchor", () => { for (const item of date.querySelectorAll(".date_item")) { if (item.classList.contains("is_active")) { const group_style = window.getComputedStyle(date); const wrapper_style = window.getComputedStyle(date_wrapper); const max = parseInt(group_style.getPropertyValue("width")) - parseInt(wrapper_style.getPropertyValue("width")); const offset = -item.offsetLeft; date_wrapper.style.setProperty("transition", "left 300ms ease-in-out"); date_wrapper.style.setProperty("left", `${offset max ? offset : max) : 0}px`); } } }) date.addEventListener("wheel", ($event) => { const { wheelDeltaX, wheelDeltaY } = $event $event.preventDefault(); const group_style = window.getComputedStyle(date); const wrapper_style = window.getComputedStyle(date_wrapper); const max = parseInt(group_style.getPropertyValue("width")) - parseInt(wrapper_style.getPropertyValue("width")); const diff = [wheelDeltaX, wheelDeltaY].filter((v) => v !== 0); const offset = parseInt(wrapper_style.getPropertyValue("left")) + (diff.every((v) => v > 0) !== diff.every((v) => v p + c, 0) > 0 ? Math.max(wheelDeltaX, wheelDeltaY) : Math.min(wheelDeltaX, wheelDeltaY)) : diff.reduce((p, c) => Math.max(...diff.map((v) => Math.abs(v))) === Math.abs(c) ? c : p, 0)); date_wrapper.style.setProperty("transition", "left 300ms ease-in-out"); date_wrapper.style.setProperty("left", `${offset max ? offset : max) : 0}px`); }, { passive: false }); let flag = false; date.addEventListener("mousedown", ($event) => { const { target, clientX, clientY } = $event; const controller = new AbortController(); controller.signal.addEventListener("abort", () => setTimeout(() => flag = false, 0), { once: true }); const group_style = window.getComputedStyle(date); const wrapper_style = window.getComputedStyle(date_wrapper); date_event.dispatchEvent(new Event("reset")); date_wrapper.style.removeProperty("transition"); const max = parseInt(group_style.getPropertyValue("width")) - parseInt(wrapper_style.getPropertyValue("width")); const $x = parseInt(wrapper_style.getPropertyValue("left")); window.addEventListener("mousemove", ($event) => { const offset = $x - (clientX - $event.clientX); date_wrapper.style.setProperty("left", `${offset max ? offset : max) : 0}px`); if ((clientX - $event.clientX) !== 0) flag = true; }, { signal: controller.signal }) window.addEventListener("mouseup", ($event) => controller.abort(), { signal: controller.signal }); window.addEventListener("mouseleave", ($event) => controller.abort(), { signal: controller.signal }); }); date.addEventListener("click", ({ target }) => { if (flag) return; const date_item = date.querySelectorAll(".date_item"); for (let i = 0; i { const node = date_wrapper.querySelector(".is_active"); if (node.previousElementSibling) { node.classList.remove("is_active"); node.previousElementSibling.classList.add("is_active"); date_event.dispatchEvent(new Event("anchor")); date_event.dispatchEvent(new Event("update")); } }) date_next.addEventListener("click", () => { const node = date_wrapper.querySelector(".is_active"); if (node.nextElementSibling) { node.classList.remove("is_active"); node.nextElementSibling.classList.add("is_active"); date_event.dispatchEvent(new Event("anchor")); date_event.dispatchEvent(new Event("update")); } }) })(date); /* --------------------- */ /* ======= E N D ======= */ /* --------------------- */ // funcGetDataWithDaysRecord .site .navigation 0 8 1 // funcGetDataWithDay(site, nav, sportId /* 0:全部 1:足球 2:篮球 */, days /* 天数 */, compId /* 联赛ID */, allComp /* 是否获取全部联赛赛事 1:是 2:否 */) const data = [ /**/ ]; data.sort((a, b) => a.time.getTime() - b.time.getTime()); /**终止信号(缓存) */ let controller = new AbortController(); /** 突变 */ const update_scroll = () => { const date = document.getElementById("date"); const list = document.getElementById("list"); if (!date || !list) return; const items = date.querySelectorAll(".date_item"); const helper = new Map(); for (const element of list.querySelectorAll(".list_group")) { const attr_date = element.getAttribute("data-date"); helper.set(attr_date, element.offsetTop - 122 - window.scrollY); } let active = Math.max.apply(null, Array.from(helper.values()).filter((v) => v { /**@type {Map>} */ const cache = swap = new Map(); controller.signal.addEventListener("abort", () => cache.clear(), { once: true }); const list = document.getElementById("list"); for (let i = 0; i main_event.dispatchEvent(new CustomEvent("load_more", { detail: data.map((v) => (v.MatchLiveList.length + 200)) })), { signal: controller.signal }); const wrapper = list.querySelector(".list_wrapper") const groups = await Promise.all(data.map(async (group, index) => { const list = group.MatchLiveList; const pad = (index + 1) * PADDING; const start = data.slice(0, index).reduce((p, c) => p + (c.MatchLiveList.length * ELEMENT_HEIGHT), pad); const height = group.MatchLiveList.length * ELEMENT_HEIGHT; const standard_date = `${`${group.time.getMonth() + 1}`.padStart(2, "0")}-${`${group.time.getDate()}`.padStart(2, "0")}`; const $el = document.createElement("div"); $el.classList.add("list_group"); $el.setAttribute("data-date", `${group.time.getTime()}`); Object.assign($el.style, { boxSizing: "border-box", overflow: "hidden", height: `${height + PADDING}px` }) if (list.length) { wrapper.appendChild($el); cache.set($el, new Map()); } return { $el, list, standard: standard_date, index, start, height, pad, setTop: (top) => $el.style.setProperty("padding-top", `${top}px`) }; })); await new Promise((resolve) => window.requestAnimationFrame(resolve)); let scroll_timer = void 0; let sync_lock = false; const render = () => { if (sync_lock) return; if (scroll_timer !== void 0) window.cancelAnimationFrame(scroll_timer); scroll_timer = window.requestAnimationFrame(async () => { scroll_timer = void 0; while (sync_lock) { await new Promise((resolve) => window.requestAnimationFrame(resolve)); } sync_lock = true; const offsetTop = list.offsetTop + 12; const scroll_y = Math.max(0, window.scrollY - offsetTop); const length = ((window.innerHeight + (PADDING * groups.length)) - ((window.innerHeight + (PADDING * groups.length)) % ELEMENT_HEIGHT) + ELEMENT_HEIGHT) / ELEMENT_HEIGHT; for (const group of groups) { if (!group.list.length) continue; const { $el, start, height } = group; const top = Math.min(height, Math.max(0, (scroll_y - start) - ((scroll_y - start) % ELEMENT_HEIGHT))); const bottom = Math.min(height, Math.max(0, ((scroll_y + (ELEMENT_HEIGHT * length)) - start) - (((scroll_y + (ELEMENT_HEIGHT * length)) - start) % ELEMENT_HEIGHT))); group.setTop(top); for (const element of $el.querySelectorAll(".list_item")) $el.removeChild(element); if ((bottom - top) >= 0) { const $start = top / ELEMENT_HEIGHT; const $end = (bottom / ELEMENT_HEIGHT) + 1; const $range = group.list.slice($start, $end); for (let $index = 0; $index
${item.comp}${item.comp}${`${date.getHours()}`.padStart(2, "0")}:${`${date.getMinutes()}`.padStart(2, "0")}
${item.home}${item.home}
${item.homeScores}${item.awayScores}
${item.away}${item.away}
${item.buttonName}
`, "text/html").querySelector(".list_item"); const live = () => { $(".staute", $item_el).css({ color: "var(--color-primary)" }).attr("title", item.statusName2).text(item.statusName2).append(`${item.matchTimeIng}`); $(".info_right > .btn_info", $item_el).css({ background: "var(--color-primary)", color: "var(--color-background-white)" }); } const play = () => { $(".staute", $item_el).css({ color: "var(--color-text-regular)" }).attr("title", item.statusName).text(item.statusName); $(".info_right > .btn_info", $item_el).css({ color: "var(--color-text-secondary)" }); } const back = () => { $(".staute", $item_el).css({ color: "var(--color-text-regular)" }).attr("title", item.statusName).text(item.statusName); $(".info_right > .btn_info", $item_el).css({ color: "var(--color-text-primary)", boxShadow: "inset 0 0 0 1px var(--color-text-primary)" }); } switch (item.sportId) { case 1: /* 足球 */{ if (item.statusId >= 2 && item.statusId = 2 && item.statusId ${item.statusId}`); break; } } if (item.isTop === 1) $item_el.classList.add("is_top"); $el.appendChild($item_el); $("img.lazy", $item_el).lazyload({ effect: "fadeIn", failurelimit: 10000 }); cache.get($el).set($start + $index, $item_el) } } } sync_lock = false; }); } window.addEventListener("scroll", render, { signal: controller.signal }); render(); })(); date_event.dispatchEvent(new Event("anchor")); update_scroll(); loading = false; console.timeEnd("update"); } tabs_event.addEventListener("update", async () => { const now = new Date().setHours(12, 0, 0, 0); let $active = data.map((v) => v.time.getTime()).reduce((p, c) => (Math.max(now, p) - Math.min(now, p)) > (Math.max(now, c) - Math.min(now, c)) ? c : p, 0); let $competition = 0; let $sport = 0; let $keyword = ""; if (tabs) { const tabs_item = tabs?.querySelectorAll(".tabs_item"); for (let i = tabs_item.length - 1; i >= 0; i--) { if (tabs_item[i].classList.contains("is_active")) { $competition = Number(tabs_item[i].getAttribute("data-id")); $sport = Number(tabs_item[i].getAttribute("data-type")); $keyword = String(tabs_item[i].getAttribute("data-keyword")).toLowerCase(); } } } if (date) { const date_item = date.querySelectorAll(".date_item"); for (let i = date_item.length - 1; i >= 0; i--) { if (date_item[i].classList.contains("is_active") && data.map((v) => v.time.getTime()).includes(Number(date_item[i].getAttribute("data-date")))) { $active = Number(date_item[i].getAttribute("data-date")); } date_item[i].parentNode.removeChild(date_item[i]); } } const list_wrapper_item = document.getElementById("list").querySelector(".list_wrapper").childNodes; for (let i = list_wrapper_item.length - 1; i >= 0; i--) list_wrapper_item[i].parentNode.removeChild(list_wrapper_item[i]); if ($keyword && $keyword !== location.pathname) { const state = { path: $keyword, competition: $competition, sport: $sport }; window.history.pushState(state, "", new URL($keyword, location.origin)); window.dispatchEvent(new PopStateEvent("pushstate", state)); } for (let i = 0; i ${data[i].weekday}

${`${data[i].time.getMonth() + 1}`.padStart(2, "0")}-${`${data[i].time.getDate()}`.padStart(2, "0")}

`; $el.setAttribute("data-date", String(data[i].time.getTime())); date.querySelector(".date_wrapper").appendChild($el); } date_event.dispatchEvent(new Event("anchor")); date_event.dispatchEvent(new Event("update")); }); date_event.addEventListener("update", async () => { const $controller = new AbortController(); const now = new Date().setHours(12, 0, 0, 0); let $active = data.map((v) => v.time.getTime()).reduce((p, c) => (Math.max(now, p) - Math.min(now, p)) > (Math.max(now, c) - Math.min(now, c)) ? c : p, 0); let $competition = 0; let $sport = 0; let $keyword = ""; if (tabs) { const tabs_item = tabs?.querySelectorAll(".tabs_item"); for (let i = tabs_item.length - 1; i >= 0; i--) { if (tabs_item[i].classList.contains("is_active")) { $competition = Number(tabs_item[i].getAttribute("data-id")); $sport = Number(tabs_item[i].getAttribute("data-type")); $keyword = String(tabs_item[i].getAttribute("data-keyword")).toLowerCase(); } } } if (date) { const date_item = date.querySelectorAll(".date_item"); for (let i = date_item.length - 1; i >= 0; i--) { if (date_item[i].classList.contains("is_active") && data.map((v) => v.time.getTime()).includes(Number(date_item[i].getAttribute("data-date")))) { $active = Number(date_item[i].getAttribute("data-date")); } } } const list_wrapper_item = document.getElementById("list").querySelector(".list_wrapper"); for (let i = list_wrapper_item.childNodes.length - 1; i >= 0; i--) list_wrapper_item.childNodes[i].parentNode.removeChild(list_wrapper_item.childNodes[i]); controller.abort(); controller = $controller; while (loading) { await new Promise((resolve) => window.requestAnimationFrame(resolve)); } const item = $("#list > .list_wrapper").children(`[data-date="${$(".date_item.is_active", date).data("date")}"]`); if (item.length) { const top = item.offset().top; document.removeEventListener("scroll", update_scroll); const scrollEnd = () => { if (window.pageYOffset === top) { window.removeEventListener("scroll", scrollEnd); document.addEventListener("scroll", update_scroll); } } window.addEventListener("scroll", scrollEnd); window.scrollTo({ top, behavior: "smooth" }); } const list_data = data.filter((v) => v.time.getTime() === $active).map((v) => { const list = v.MatchLiveList.filter(({ sportId, competitionId }) => (($competition === 0 || competitionId === $competition) && ($sport === 0 || sportId === $sport))); let end = 0 // const is_current_day = v.time.toDateString() === new Date().toDateString(); if (list.length) { const max = Math.min(...list.map((v) => v.matchTs.getTime())) + (3.6e+6 * 4); while (list[end] && list[end].matchTs.getTime() { const $controller = new AbortController(); const now = new Date().setHours(12, 0, 0, 0); let $active = data.map((v) => v.time.getTime()).reduce((p, c) => (Math.max(now, p) - Math.min(now, p)) > (Math.max(now, c) - Math.min(now, c)) ? c : p, 0); let $competition = 0; let $sport = 0; let $keyword = ""; if (tabs) { const tabs_item = tabs?.querySelectorAll(".tabs_item"); for (let i = tabs_item.length - 1; i >= 0; i--) { if (tabs_item[i].classList.contains("is_active")) { $competition = Number(tabs_item[i].getAttribute("data-id")); $sport = Number(tabs_item[i].getAttribute("data-type")); $keyword = String(tabs_item[i].getAttribute("data-keyword")).toLowerCase(); } } } if (date) { const date_item = date.querySelectorAll(".date_item"); for (let i = date_item.length - 1; i >= 0; i--) { if (date_item[i].classList.contains("is_active") && data.map((v) => v.time.getTime()).includes(Number(date_item[i].getAttribute("data-date")))) { $active = Number(date_item[i].getAttribute("data-date")); } } } const list_wrapper_item = document.getElementById("list").querySelector(".list_wrapper"); for (let i = list_wrapper_item.childNodes.length - 1; i >= 0; i--) list_wrapper_item.childNodes[i].parentNode.removeChild(list_wrapper_item.childNodes[i]); controller.abort(); controller = $controller; while (loading) { await new Promise((resolve) => window.requestAnimationFrame(resolve)); } const list_data = data.filter((v) => v.time.getTime() === $active).map((v, i) => { const list = v.MatchLiveList.filter(({ sportId, competitionId }) => (($competition === 0 || competitionId === $competition) && ($sport === 0 || sportId === $sport))); return { ...v, MatchLiveList: list.slice(0, detail[i]), length: list.length } }); await update($controller, list_data); }); /**/ $.ajax({ method: "GET", url: "/getMatchListJsonp?days=7", dataType: "json", }).done(({ matchLiveList }) => { const map = new Map(); const weekdays = ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu']; for (let i = 0; i { const time = new Date(k); return { weekday: weekdays[time.getDay()], time, MatchLiveList: v } }) ); tabs_event.dispatchEvent(new Event("update")); }) /**/ });
Berita terbaruLihat Selengkapnya>
Berita Terkini
    Papan skor sepak bolaDaftar pencetak gol sepak bola
    • Liga Utama Inggris2Liga Utama Inggris
    • Serie A2Serie A
    • Ligue 12Ligue 1
    • Fußball-Bundesliga2Fußball-Bundesliga
    • La Liga2La Liga
    TimMenang/seri/kalahPoin
    • 1ArsenalArsenal11/3/236
    • 2ManchesterCityManchesterCity11/1/434
    • 3AstonVillaAstonVilla10/3/333
    • 4ChelseaChelsea8/4/428
    • 5Joe MurphyJoe Murphy7/5/426
    • 6ManchesterUnitedManchesterUnited7/5/426
    • 7LiverpoolLiverpool8/2/626
    • 8SunderlandSunderland7/5/426
    • 9EvertonEverton7/3/624
    • 10Dennis GroteDennis Grote6/5/523
    • 11TottenhamHotspurTottenhamHotspur6/4/622
    • 12NewcastleUnitedNewcastleUnited6/4/622
    • 13BournemouthAFCBournemouthAFC5/6/521
    • 14FulhamFulham6/2/820
    • 15BrentfordBrentford6/2/820
    • 16NottinghamForestNottinghamForest5/3/818
    • 17LeedsUnitedLeedsUnited4/4/816
    • 18WestHamUnitedWestHamUnited3/4/913
    • 19BurnleyBurnley3/1/1210
    • 20WolverhamptonWanderersWolverhamptonWanderers0/2/142
    Papan skor basket
    • Asosiasi Basket Nasional1Asosiasi Basket Nasional
    • Asosiasi Bola Basket Tiongkok1Asosiasi Bola Basket Tiongkok
    Konferensi TimurKonferensi Barat
    TimMenang/KalahPersentase kemenangan
    • 1NetherlandsNetherlands2/00%
    • 2SenegalSenegal2/10%
    • 3EcuadorEcuador1/10%
    • 4QatarQatar0/30%