Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6626341
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T21:52:52+00:00 2026-05-25T21:52:52+00:00

I am creating a demo application that randomly selects a venue when a button

  • 0

I am creating a demo application that randomly selects a venue when a button is clicked. Once the button is clicked I want to have the venues scroll through with a slot machine spinning animation using CSS3 and jQuery before a venue is selected.

I thought about using -webkit-keyframes and changing the background position, but it’s not the ideal animation I would like.

@-webkit-keyframes spin{  
  0% {  
        background-position: 0, 0 0;
        -webkit-transform: rotateX(0deg);
     }
  100% { 
        background-position: 0, 0 -640px;
        -webkit-transform: rotateX(360deg);
     }
}

.rotating{
    -webkit-animation: spin .5s infinite linear;
    -webkit-transition: background-position .7s;
}

Can anyone give any insight on how this can be achieved? Here is what I have so far. Any help is appreciated.

Thank You

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T21:52:52+00:00Added an answer on May 25, 2026 at 9:52 pm

    After much research plagiarizing I’ve come up with this. Hopefully it helps in some shape or form.

    const POSTERS_PER_ROW = 12;
    const RING_RADIUS = 200;
    
    function setup_posters(row) {
      var posterAngle = 360 / POSTERS_PER_ROW;
      for (var i = 0; i < POSTERS_PER_ROW; i++) {
        var poster = document.createElement('div');
        poster.className = 'poster';
        // compute and assign the transform for this poster
        var transform = 'rotateY(' + (posterAngle * i) + 'deg) translateZ(' + RING_RADIUS + 'px)';
        poster.style.webkitTransform = transform;
        // setup the number to show inside the poster
        var content = poster.appendChild(document.createElement('p'));
        content.textContent = i;
        // add the poster to the row
        //row.appendChild(poster);
      }
    
    }
    
    function init() {
      setup_posters(document.getElementById('ring-1'));
      setup_posters(document.getElementById('ring-2'));
      setup_posters(document.getElementById('ring-3'));
    }
    
    // call init once the document is fully loaded
    window.addEventListener('load', init, false);
    body {
      font-family: 'Lucida Grande', Verdana, Arial;
      font-size: 12px;
    }
    #stage {
      margin: 150px auto;
      width: 600px;
      height: 400px;
      /*
            
            Setting the perspective of the contents of the stage
            but not the stage itself
            
            */
      -webkit-perspective: 800;
    }
    #rotate {
      margin: 0 auto;
      width: 600px;
      height: 400px;
      /* Ensure that we're in 3D space */
      -webkit-transform-style: preserve-3d;
      /*
            Make the whole set of rows use the x-axis spin animation
            for a duration of 7 seconds, running infinitely and linearly
            */
      /* -webkit-animation-name: x-spin;
            -webkit-animation-duration: 7s;
            -webkit-animation-iteration-count: infinite;
            -webkit-animation-timing-function: linear;*/
    }
    .ring {
      margin: 0 auto;
      height: 110px;
      width: 600px;
      -webkit-transform-style: preserve-3d;
      -webkit-animation-iteration-count: infinite;
      -webkit-animation-timing-function: linear;
    }
    .ring >:nth-child(odd) {
      background-color: #995C7F;
    }
    .ring >:nth-child(even) {
      background-color: #835A99;
    }
    .poster {
      position: absolute;
      left: 250px;
      width: 100px;
      height: 100px;
      opacity: 0.7;
      color: rgba(0, 0, 0, 0.9);
      -webkit-border-radius: 10px;
    }
    .poster > p {
      font-family: 'Georgia', serif;
      font-size: 36px;
      font-weight: bold;
      text-align: center;
      margin-top: 28px;
    }
    /*
          Set up each row to have a different animation duration
          and alternating y-axis rotation directions.
          */
    
    #ring-1 {
      -webkit-animation-name: x-spin;
      -webkit-animation-duration: 2s;
    }
    /*
          #ring-2 {
            -webkit-animation-name: back-y-spin;
            -webkit-animation-duration: 4s;
          }
    
          #ring-3 {
            -webkit-animation-name: y-spin;
            -webkit-animation-duration: 3s;
          }*/
    
    /*
    
          Here we define each of the three individual animations that
          we will be using to have our 3D rotation effect. The first
          animation will perform a full rotation on the x-axis, we'll
          use that on the whole set of objects. The second and third
          animations will perform a full rotation on the y-axis in
          opposite directions, alternating directions between rows.
        
          Note that you currently have to specify an intermediate step
          for rotations even when you are using individual transformation
          constructs.
    
          */
    
    @-webkit-keyframes x-spin {
      0% {
        -webkit-transform: rotateX(0deg);
      }
      50% {
        -webkit-transform: rotateX(180deg);
      }
      100% {
        -webkit-transform: rotateX(360deg);
      }
    }
    @-webkit-keyframes y-spin {
      0% {
        -webkit-transform: rotateY(0deg);
      }
      50% {
        -webkit-transform: rotateY(180deg);
      }
      100% {
        -webkit-transform: rotateY(360deg);
      }
    }
    @-webkit-keyframes back-y-spin {
      0% {
        -webkit-transform: rotateY(360deg);
      }
      50% {
        -webkit-transform: rotateY(180deg);
      }
      100% {
        -webkit-transform: rotateY(0deg);
      }
    }
    <h1>//BOTCHED Poster Circle</h1>
    <strike>
        <p>//This is a simple example of how to use CSS transformation and animations to get interesting-looking behavior.</p>
        <p>The three rings are constructed using a simple JavaScript function that creates elements and assigns them a transform
          that describes their position in the ring. CSS animations are then used to rotate each ring, and to spin the containing
          element around too.</p>
        <p>Note that you can still select the numbers on the ring; everything remains clickable.</p>
        
        </strike>
    <p>Taken from <a href="http://www.webkit.org/blog-files/3d-transforms/poster-circle.html">HERE</a> 
    </p>
    <div id="stage">
      <div id="rotate">
        <div id="ring-1" class="ring">
          <div class="poster" style="-webkit-transform: rotateX(0deg) translateZ(200px); ">
            <p>0</p>
          </div>
          <div class="poster" style="-webkit-transform: rotateX(30deg) translateZ(200px); ">
            <p>1</p>
          </div>
          <div class="poster" style="-webkit-transform: rotateX(60deg) translateZ(200px); ">
            <p>2</p>
          </div>
          <div class="poster" style="-webkit-transform: rotateX(90deg) translateZ(200px); ">
            <p>3</p>
          </div>
          <div class="poster" style="-webkit-transform: rotateX(120deg) translateZ(200px); ">
            <p>4</p>
          </div>
          <div class="poster" style="-webkit-transform: rotateX(150deg) translateZ(200px); ">
            <p>5</p>
          </div>
          <div class="poster" style="-webkit-transform: rotateX(180deg) translateZ(200px); ">
            <p>6</p>
          </div>
          <div class="poster" style="-webkit-transform: rotateX(210deg) translateZ(200px); ">
            <p>7</p>
          </div>
          <div class="poster" style="-webkit-transform: rotateX(240deg) translateZ(200px); ">
            <p>8</p>
          </div>
          <div class="poster" style="-webkit-transform: rotateX(270deg) translateZ(200px); ">
            <p>9</p>
          </div>
          <div class="poster" style="-webkit-transform: rotateX(300deg) translateZ(200px); ">
            <p>10</p>
          </div>
          <div class="poster" style="-webkit-transform: rotateX(330deg) translateZ(200px); ">
            <p>11</p>
          </div>
        </div>
      </div>
    </div>

    View on JSFiddle

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

i am creating media recorder demo application. for that i have take two button
i am creating a demo application using spring mvc 3.0.I have to apply the
I am playing around creating a demo prism application. The application I have has
Creating a JApplet I have 2 Text Fields, a button and a Text Area.
I'm creating a new plugin for a jruby on rails application that will eventually
I found one sample application from the Blackberry knowledgebase. From that application I have
I'm creating a demo that must be in html code only (no server side
I am currently creating an application that has a user, the user can follow
I'm creating a Sencha Touch application. I would like to have a banner docked
I want com.google.android.maps library. I am just creating a demo for Map on android

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.