Monon magician event entertainmentVirtual Halloween party
Gather your ghouls and goblins for a spine-chilling celebration! As the witching hour approaches, it’s time to conjure up the virtual Halloween party. In this guide, we’ll walk you through the most exciting online experiences, ensuring your digital gathering is frightfully fun.
The tricks and treats of a macabre mentalist
No one sits in the back because Jon Finch’s interactive magic gives the opportunity for your audience to know one another on a deeper level than the Zoom room usually affords.
With the virtual magic show, you get to bring the theater to you
“We hired Jon as a mentalist for a fundraising cocktail party held at our house for 100 people. He was outstanding! … Jon was perfect and so entertaining!Our team still haven’t stopped talking about how much fun Jon Finch was at our virtual Halloween party! The Hannah Ressingerfeedback we received was so positiveReady to hear your team scream? and people were blown away at how fun, professional and talented he is.⭭ – Stacy Purcell get a quick quote
⭭
HAPPY CLIENTSbook your free 20 min call here
Happy Clients of Jon Finch
document.addEventListener('DOMContentLoaded', function() {
// Target the UL elements with their unique classes
const topRow = document.querySelector('.logos-top-row');
const bottomRow = document.querySelector('.logos-bottm-row');
// Function to set up scrolling for a specific row with custom duration
function setupScroll(list, duration) {
// Make sure the list has the right CSS
list.style.display = 'flex';
list.style.width = 'fit-content';
// Get the first half of items (your original logos)
const items = Array.from(list.children).slice(0, list.children.length / 2);
// Calculate the width of the first half (original set of logos)
const firstHalfWidth = items.reduce((width, item) => {
return width + item.offsetWidth;
}, 0);
// Set the scroll function
function scroll() {
// Reset position instantly
list.style.transition = 'none';
list.style.transform = 'translateX(0)';
// Force reflow
void list.offsetWidth;
// Start smooth scrolling animation with custom duration
list.style.transition = `transform ${duration}s cubic-bezier(0.4, 0.0, 0.2, 1)`;
list.style.transform = `translateX(-${firstHalfWidth}px)`;
}
// Initial scroll
scroll();
// Set up infinite scrolling with specific event
list.addEventListener('transitionend', function(event) {
// Only trigger scroll reset if it's the transform transition that ended
if (event.propertyName === 'transform') {
scroll();
}
});
}
// Reduce speed for mobile
const speedMultiplier = window.innerWidth Extraordinary magic for your extraordinary event<
Costume contest and virtual fashion show
Interactive Magic Gets People Talking
Energizes Your Guests with Magic And Hilarious Comedy