chrisgannon supports this item


This author's response time can be up to 5 business days.

335 comments found.

are there any way to get the source code ? , when i buy it you allow me to call the API or what ?

When you buy it you download the JS, CSS and HTML/SVG code.

Should this work straight after download? I’m loading index.html in my browser and no wheel is being displayed? I only see a Click to Spin button.

Thanks. It appears to work with Firefox browser locally but not with Chrome.

Weird – it shouldn’t work locally at all on any browser – bonus feature! :)

Is there a way to stop the game over message from loading?

Sorry I totally missed your message. You can set the CSS for .toast to display:none; using the onGameEnd event I think


After the spin, Is it possible to place a email gate, the user has to enter his/her email address and the code will be sent to their email & be displayed on the window.

- Also, can the code be dynamic. Different Code is sent & displayed to different users.

Sounds like you’d need to set up a login/account system. Then you could control those elements.

Hello sir. I have purchased your wheel, I uploaded it on the website and it is in the same form as it is on envato. How can I customize it to change wheel names category and give a probability ? Shall I connect it in a way with wordpress or should I change from the files code ? How can I customize it if the files are already compiled ? Thank you

I don’t think you can edit the JSON through the cPanel. Also search through the JSON file – you will find that ‘Now go and buy it’ text in there – then you can change it.

Ok so in this case should I open the file with notepad++ and edit from there then upload in cpanel again or??

Correct! Just make sure you’re uploading the edited version ;)

How do I spin the wheel without any user interaction at all?

Hi again. How do I suppress results as shown in the demo? I removed the ‘toast’ element but now am getting a DOM exception. Thanks

Hi again. How do I suppress results as shown in the demo? I removed the ‘toast’ element but now am getting a DOM exception. Thanks

You can’t remove it but you can set its CSS to display:none;

is there a way to change the volume of the wheel tick?

To set the ticker volume, in Spin2WinWheel.js look for setInitData() function and inside it add:

pegSnd.volume = 0.5; //half the volume


wilko88 Purchased

Hey Chris, great work on this, really nice & easy to use script! One question I’m hoping to pick your brains on though. What would be the most straightforward way to automate testing of 100 or 1000 spins to check that the probability/outcomes are correct?

Thanks, Dan

Hmm good question. You could set the numSpins:1000 then onGameEnd call the spinBtn’s onclick(); function. This would automate clicks.

To speed it all up you can write:


This will speed up all animations by a factor of 3 so you don’t have to wait long for a spin.

Then maybe capture each result into the console (or wherever) using the onResult event.


can i create two wheels in a site so that i can do a/b testing?

Yes – you’d need two lots of JSON (unless they used the same dataset). If you intended to use two wheels live you’d need two licenses.

Hello, We bought your tool yesterday and we are trying to view the index.html file and it doesn’t show the wheel. After looking in the support, we’ve seen a comment that says to put all downloaded files on the server but after doing that it also doesn’t show the wheel. What are we missing here?

Thanks, Pushapp.

You’ve still left a var wheelDataObject = in there. Remove it. Your file should start off exactly like this

thanks it works now!



reveelow Purchased

Hi Chris,

I’ve just purchase your code. Can I just ask, is there any way for me to set the settings (probability) based on the number of clicks of the spin button?

For example, click 1-20: all except one is probability 100. one is 0 click 21 – 50: all except one is probability 100. one is 10 click 51 onwards: all is probability 100

You could try storing the JSON as a JS object instead. Then update the probability values each time you click a certain number of times. I haven’t tested this but worth a go.


reveelow Purchased

Hi Chris, thanks for the reply. However, I couldn’t really understand the method you mentioned. Can you roughly draft an example for me? Thanks.

Hello chris gannon, first of all thanks for providing this game for sale. I’m having a problem though… The ticker sound won’t play in Safari, resulting in this error: Unhandled Promise Rejection: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission. Apparently this game does work in Safari, maybe you can apply such a solution to make it work?

Kind Regards, kreatosict

This is a known bug in Safari that is currently under review to be fixed. It’s annoying EVERYONE so I can only apologise for Apple’s incompetence – however I won’t be issuing a fix for it just yet because it should (hopefully) be fixed in an upcoming release.

Oh OK, I didn’t know that. I’ve been looking at the code of the Lucky Wheel and while I’m certainly not a code-expert, I think they are triggering the sound through the javascript-call on the spin-button. That way, the user implicitly gives consent for the audio playback. Pretty clever workaround ^^ Anyway, I totally understand you to wait for a fix in Safari. Thanks for your quick reply and the knowledge shared.

Have a great day !


1stcome Purchased

if i only want one person out of hundreds to win can i set it up like that, that once the segement has been selected it will never be selected again ?

See this FAQ. It allows you to change the probability as long as you use the JSON data as a JS object.