Gossip & News

There to Catch Him! Zendaya Dishes on BF Tom Holland’s


master mentalism tricks

[]

From friends to lovers. Zendaya and Tom Holland have their romance hush-hush, but fans know that the two have a long history.

The actors met while working on Spider-Man: Homecoming in 2016 and romance rumors quickly followed. However, there wasn’t a direct confirmation of them dating until July 2021, when they were spotted kissing.

At the time, the Cherry star and the Disney Channel alum were seen packing on the PDA in Holland’s car, in photographs obtained by Page Six. The two shared a smooch and made funny faces at each other in an Audi sports car in Los Angeles.

Shortly after the pics confirmed what had been suspected for years, a source exclusively told Us Weekly that the pair were completely unaware of the photographer snapping away and prefer to fly under the radar.

“They’re both not one to make their relationship public,” another source told Us earlier this month. “They’re private when it comes to dating, so any photos that have come out would’ve just been them going about their business and not knowing photographers were around.”

{ let bidders = [‘a9’, ‘ix’, ‘iris’]; // create a requestManager to keep track of bidder state to determine when to send ad server // request and what amazonSlots to request from the ad server var requestManager = { adserverRequestSent: false, }; //loop through bidder array and add the bidders to the request manager: bidders.forEach( function( bidder ) { requestManager[bidder] = false; } ); // return true if all bidders have returned function allBiddersBack() { var allBiddersBack = bidders // get the booleans from the object .map( function( bidder ) { return requestManager[bidder]; } ) // get rid of false values – indicates that the bidder has responded .filter( Boolean ) // if length is equal to bidders, all bidders are back .length === bidders.length; return allBiddersBack; } // handler for header bidder responses function headerBidderBack( bidder ) { // return early if request to adserver is already sent if ( requestManager.adserverRequestSent === true ) { return; } // flip bidder back flag if ( bidder === ‘a9’ ) { requestManager.a9 = true; console.log(‘second promise a9 ready’); } else if ( bidder === ‘ix’ ) { requestManager.ix = true; console.log(‘second promise ix ready’); } else if ( bidder === ‘iris’ ) { requestManager.iris = true; console.log(‘second promise iris ready’); } // if all bidders are back, send the request to the ad server if ( allBiddersBack() ) { resolve( url ); } } if ( typeof apstag == ‘object’ && apstag ) { apstag.fetchBids({ slots: [{ slotID: window.prerollTag[vHash], mediaType: ‘video’ }] }, function( bids ) { console.log( “AMI jwp amazon bid callback”, new Date().getTime(), bids ); window.jwpBids[vHash].amazon = true; if ( bids.length > 0 ) { //If we have received any bids back try { console.log(“AMI jwp amazon bid request ad”, bids[0].encodedQsParams); url = url + ‘&scp=’ + bids[0].encodedQsParams; } catch ( e ) { console.log(e); } } else { console.log(“AMI jwp amazon no bids”); } headerBidderBack(‘a9’); }); } else { headerBidderBack(‘a9’); } headertag.cmd.push( function() { headertag.retrieveVideoDemand( [{‘htSlotName’: ‘preroll’}], function( demand ) { console.log( “AMI jwp IX callback”, demand ); if ( ‘undefined’ !== typeof demand.preroll && demand.preroll.length ){ window.jwpBids[vHash].ixBids = demand.preroll[0].targeting.price; console.log( ‘AMI jwp IX Bids’, new Date().getTime(), demand.preroll[0].targeting ); var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } var keys = Object.keys( demand.preroll[0].targeting.price ); for ( var key of keys ) { custParams.set( key, demand.preroll[0].targeting.price[key][0]); } vastParams.set( ‘cust_params’, custParams.toString() ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘ix’); } ); } ); // Get main item context data window.irisContext.getContext(jwplayer(el).getPlaylistItem().mediaid).then(function(data) { // Encode the context data console.log( ‘AMI jwp IrisTV Bids’, new Date().getTime(), data.context ); // Replace the server url with the context data (this is for simple ad requests), // If you have the serverUrl dynamically configured, then you will need to append the context data // under cust_params, so this is just for testing purpose if ( data.context && Object.keys( data.context ).length ) { var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } custParams.set( ‘iris_context’, data.context.join(‘,’)); vastParams.set( ‘cust_params’, decodeURIComponent( custParams.toString() ) ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘iris’); }); setTimeout(function(){ resolve( url ); }, 10000); }); } var player_jwplayer_i63LaQMO_zhNYySv2_div = jwplayer(el).setup(videoParams).on(“ready”, function(){ var el = decodeURIComponent( “jwplayer_i63LaQMO_zhNYySv2_div” ); var playerInstance = jwplayer(el); ns_.StreamingAnalytics.JWPlayer( playerInstance, { publisherId: “6036076”, labelmapping: “ns_st_pu=”AMI”, c3=”Us Weekly”, ns_st_ge=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ia=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ce=”” + decodeURIComponent( “1” ) + “”, ns_st_ddt=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_tdt=”” + decodeURIComponent( “%2Anull” ) + “””, }); }).on(‘adsManager’, (e) => { var vHash = ‘ami’ + decodeURIComponent( ‘i63LaQMO’ ); const { adsManager, videoElement } = e; const iasConfig = { anId: ‘928572’, campId: `${jwplayer().getWidth()}x${jwplayer().getHeight()}`, // This is dynamic based on player dimensions, but can be hard coded chanId: window.prerollTag[vHash], placementId: ‘Open Auction’, pubOrder: ‘Video’, pubId: ‘Direct’ }; if (googleImaVansAdapter) { googleImaVansAdapter.init(window.google, adsManager, videoElement, iasConfig); } }).on( ‘time’, function( e ) { var id = this.id; var pct = Math.round( e.position ); if ( ! window.amiPlayersData ) { window.amiPlayersData = {}; } if ( ! window.amiPlayersData[id] ) { window.amiPlayersData[id] = { m3: false, m10: false }; } if ( window.amiPlayersData[id][‘m3’] === false && pct >= 3 ) { window.amiPlayersData[id][‘m3’] = true; console.log( ‘3sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ‘3s played’} ); } if ( window.amiPlayersData[id][‘m10’] === false && pct >= 10 ) { window.amiPlayersData[id][‘m10’] = true; console.log( ’10sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ’10s played’} ); } }).on( ‘complete’, function( e ) { if ( window.amiPlayersData && window.amiPlayersData[ this.id ] ) { window.amiPlayersData[ this.id ][‘m3’] = false; window.amiPlayersData[ this.id ][‘m10’] = false; console.log( ‘clear played: ‘, this.id ); } }).once(“play”, function(){ var el = decodeURIComponent( “jwplayer_i63LaQMO_zhNYySv2_div” ); var playerInstance = jwplayer(el); loadIrisPlugin(playerInstance, playerInstance.getConfig().plugins[“https://ovp.iris.tv/plugins/jwplayer/v2/iris-jwplayer8.adaptive.min.js”]) }).on(‘play’, (e) => { var el = decodeURIComponent( “jwplayer_i63LaQMO_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “i63LaQMO” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “i63LaQMO” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language:”English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video play”); }).on(‘complete’, (e) => { var el = decodeURIComponent( “jwplayer_i63LaQMO_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “i63LaQMO” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoComplete”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “i63LaQMO” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video event:”, e); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; }).on(‘time’, (e) => { var el = decodeURIComponent( “jwplayer_i63LaQMO_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “i63LaQMO” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.currentTime/e.duration).toFixed(2); if ( (0.25 === progress && false === window.lock_25) || (0.5 === progress && false === window.lock_50) || (0.75 === progress && false === window.lock_75) || (100 === progress && false === window.lock_100) ) { window.permutive.track(“VideoProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “i63LaQMO” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 === progress ) { window.lock_25 = true; } if ( 0.5 === progress ) { window.lock_50 = true; } if ( 0.75 === progress ) { window.lock_75 = true; } if ( 1 === progress ) { window.lock_100 = true; } console.log(“Permutive video play progress ” + progress); } }).on(‘mute’, (e) => { var el = decodeURIComponent( “jwplayer_i63LaQMO_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “i63LaQMO” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.mute) ? “sound off” : “sound on”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “i63LaQMO” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘fullscreen’, (e) => { var el = decodeURIComponent( “jwplayer_i63LaQMO_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “i63LaQMO” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.fullscreen) ? “fullscreen on” : “fullscreen off”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “i63LaQMO” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘ready’, (e) => { var el = decodeURIComponent( “jwplayer_i63LaQMO_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “i63LaQMO” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); console.log(jwInfo); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; window.permutive.track(“VideoLoad”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “i63LaQMO” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video load event”); }).on(‘adPlay’, (e) => { var el = decodeURIComponent( “jwplayer_i63LaQMO_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “i63LaQMO” ); window.adInfo = e; var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.adlock_25 = false; window.adlock_50 = false; window.adlock_75 = false; window.adlock_100 = false; window.permutive.track(“VideoAdPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “i63LaQMO” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad play”); }).on(‘adClick’, (e) => { var el = decodeURIComponent( “jwplayer_i63LaQMO_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “i63LaQMO” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoAdClick”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “i63LaQMO” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad click”); }).on(‘adTime’, (e) => { var el = decodeURIComponent( “jwplayer_i63LaQMO_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “i63LaQMO” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.position/e.duration).toFixed(2); if ( (0.25 >= progress && false === window.adlock_25) || (0.5 >= progress && false === window.adlock_50) || (0.75 >= progress && false === window.adlock_75) || (0.95 >= progress && false === window.adlock_100) ) { window.permutive.track(“VideoAdProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “i63LaQMO” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 >= progress ) { window.adlock_25 = true; } if ( 0.5 >= progress ) { window.adlock_50 = true; } if ( 0.75 >= progress ) { window.adlock_75 = true; } if ( 0.95 >= progress ) { window.adlock_100 = true; } console.log(“Permutive video ad progress ” + progress); } }).setPlaylistItemCallback(function(item, index) { return waitForAmazon // Wait until Amazon is loaded. .then(() => performAsyncBidding( player_jwplayer_i63LaQMO_zhNYySv2_div, item, index ), () => { console.log(“AMI JWP bidding FAILER”); }) // External bidding. .then(tag => { // Update the playlist item. console.log(“AMI jwp new headerbid”, tag); return Object.assign({}, item, { adschedule: [{ tag, offset: “pre” }] }); }).catch(function(e){ console.log(“AMI jwp bidding failed”, e); return item; }); // If bidding fails, use unmodified playlist item. });; clearInterval(checkJWReady); } }, 500); })(); ]]>

Later that month, a third insider exclusively revealed that the Marvel stars’ friendship created a strong foundation for their romantic relationship.

“Zendaya and Tom started off as really great friends and stayed that way for a long while before things turned romantic,” the source revealed, adding that the Emmy winner and the Avengers: Endgame actor “work really well together because he makes her laugh and she really helps guide him through the world of celebrity.”

Holland found fame as soon as he debuted as the web slinging superhero in 2016’s Captain America: Civil War. Though Zendaya joined the Marvel Cinematic Universe after her beau, she entered the limelight years earlier while starring on Disney Channel hits, including Shake It Up and KC Undercover.

The duo “challenge each other and balance each other out,” the third source told Us in July 2021.

It isn’t clear exactly how long the couple have been dating due to the on-again, off-again nature of their relationship. While they were first linked in 2017, they’ve both had other relationships since then. Zendaya dated Euphoria costar Jacob Elordi in 2020, while Holland was rumored to be dating family friend Olivia Bolton from 2019 to 2020. He later sparked romance rumors with Nadia Parkes when he posted a photo of the actress to Instagram.

Scroll down to take a look back at Holland and Zendaya’s romance:

Read The Full Article Here


trick photography
Jessica Simpson Recalls Pressure to Lose Weight in Early Career: Im Just Not Built That Way
Jessica Simpson Recalls Pressure to Lose Weight in Early Career: Im Just Not Built That Way
Power Book III: Raising Kanan Season 5: Release Date, How to Watch, Episode Guide & More
Power Book III: Raising Kanan Season 5: Release Date, How to Watch, Episode Guide & More
Kelly Clarkson Expands Las Vegas Residency With New Shows at Caesars Palace
Kelly Clarkson Expands Las Vegas Residency With New Shows at Caesars Palace
Jimmy Kimmel Mocks President Donald Trumps Claim That Spencer Pratts L.A. Mayor Race Was Rigged
Jimmy Kimmel Mocks President Donald Trumps Claim That Spencer Pratts L.A. Mayor Race Was Rigged
Time and Water review – a lament for a disappearing world
Time and Water review – a lament for a disappearing world
Gatto Trailer Review: Pixars Mob Movie Has Much-Needed Originality
Gatto Trailer Review: Pixars Mob Movie Has Much-Needed Originality
Scott Z Burns | Erupcja + Pete Ohs | Enzo
Scott Z Burns | Erupcja + Pete Ohs | Enzo
My Adventures With Superman Full Series Recap
My Adventures With Superman Full Series Recap
No Preview
2026 TCA Awards: Heated Rivalry, Industry & Widows Bay Lead Nominations
Casting News: Elisabeth Hasselbecks New Daytime Gig, Game Of Thrones Vet Joins Peaky Blinders, And More – TVLine
Casting News: Elisabeth Hasselbecks New Daytime Gig, Game Of Thrones Vet Joins Peaky Blinders, And More – TVLine
Kenny Loggins Reunites With Footloose Stars Kevin Bacon & John Lithgow for Surprise Performance
Kenny Loggins Reunites With Footloose Stars Kevin Bacon & John Lithgow for Surprise Performance
High Potential Costume Designer Breaks Down Morgans Season 2 Style, Including The Skirt Every Fan Wanted – TVLine
High Potential Costume Designer Breaks Down Morgans Season 2 Style, Including The Skirt Every Fan Wanted – TVLine
Rosalía Returns to Stage After Family Emergency, Tells Boston Crowd Loved Ones Need to Come First
Rosalía Returns to Stage After Family Emergency, Tells Boston Crowd Loved Ones Need to Come First
Interview – Mikkey Dee + Lex Legion Revisiting King Diamond Legacy Without Retreading
Interview – Mikkey Dee + Lex Legion Revisiting King Diamond Legacy Without Retreading
Protect Ya Neck: Wu-Tang Clan Snap Trumps Curse with Knicks Halftime Show
Protect Ya Neck: Wu-Tang Clan Snap Trumps Curse with Knicks Halftime Show
Hail to the Thief Version of Hamlet Heads to London
Hail to the Thief Version of Hamlet Heads to London
Nicole de Moulpied’s “Still a Snack” Is the Midlife Wake-Up Call Women Didn’t Know They Needed
Nicole de Moulpied’s “Still a Snack” Is the Midlife Wake-Up Call Women Didn’t Know They Needed
Interview with Karen Redman, Author of Flawed Innocence – NewInBooks
Interview with Karen Redman, Author of Flawed Innocence – NewInBooks
Interview with Anastasia Alexander, Author of Loving Mr. Impossible – NewInBooks
Interview with Anastasia Alexander, Author of Loving Mr. Impossible – NewInBooks
New Mystery and Thriller Books to Read | June 9 – NewInBooks
New Mystery and Thriller Books to Read | June 9 – NewInBooks
Timothée and Kylie Are the Best Dressed Courtside Couple – Shop Their Looks From
Timothée and Kylie Are the Best Dressed Courtside Couple – Shop Their Looks From $20
7 Summer Beauty Essentials Worthy of Wearing to the French Open
7 Summer Beauty Essentials Worthy of Wearing to the French Open
Turn the Page: The Second Chapter of Hermèss Fall 2026 Unfolds Behind the Gates of Bel Air
Turn the Page: The Second Chapter of Hermèss Fall 2026 Unfolds Behind the Gates of Bel Air
Not Black—the Unexpected Heel Color Alexandra Just Wore in the Monaco Paddock
Not Black—the Unexpected Heel Color Alexandra Just Wore in the Monaco Paddock
Gonjiam: Haunted Asylum Getting Remake
Gonjiam: Haunted Asylum Getting Remake
Horror Remembers Salems Bridget Bishop
Horror Remembers Salems Bridget Bishop
Every Generation Gets the Monster It Deserves: A look Through Horror Movie History
Every Generation Gets the Monster It Deserves: A look Through Horror Movie History
The Real Horror Behind Vampires: The Corpses That Created a Monster
The Real Horror Behind Vampires: The Corpses That Created a Monster