Skip to main content
Inspiring
August 20, 2020
Answered

Button

In my slide show I have HTML5 canvas and there I have a button that changes an image but when you press the button
then nothing happens on the first press but the second press so it happens the image is displayed.
I want it to happen on the first print.
Here is the code:
this.button.addEventListener("click", Toggle3.bind(this));
var on = 0;
this.nr60b_btn.visible = false;
this.nr60a_btn.visible = false;
function Toggle3() {
if (on == 0) {
this.nr60b_btn.visible = true;
this.nr60a_btn.visible = true;
this.stop();
on = 1;
} else {
this.nr60b_btn.visible = false;
this.nr60a_btn.visible = false;
on = 0;
}
}

This topic is closed to new replies. Start a new post to keep the conversation going.
JoãoCésar17023019
JoãoCésar17023019Correct answer
Community Expert
August 20, 2020

Hi.

 

It think this is a great opportunity to use the logical NOT (!) operator.

 

this.button.addEventListener("click", Toggle3.bind(this));
this.nr60b_btn.visible = false;
this.nr60a_btn.visible = false;

function Toggle3()
{
	this.nr60b_btn.visible = !this.nr60b_btn.visible;
	this.nr60a_btn.visible = !this.nr60a_btn.visible;
	
	if (this.nr60b_btn.visible)
		this.stop();
}

 

 

Please let us know.

 

Regards,

JC

2 replies

JoãoCésar17023019
Community Expert
JoãoCésar17023019Community ExpertCorrect answer
Community Expert
August 20, 2020

Hi.

 

It think this is a great opportunity to use the logical NOT (!) operator.

 

this.button.addEventListener("click", Toggle3.bind(this));
this.nr60b_btn.visible = false;
this.nr60a_btn.visible = false;

function Toggle3()
{
	this.nr60b_btn.visible = !this.nr60b_btn.visible;
	this.nr60a_btn.visible = !this.nr60a_btn.visible;
	
	if (this.nr60b_btn.visible)
		this.stop();
}

 

 

Please let us know.

 

Regards,

JC

Translate
peorAuthor
Inspiring
August 20, 2020

Thank you so much for the help because this works with the code you gave works at once when I press the button instead of the second time with the previous code I had.

Translate