在点击javascript时制作HTML按钮消失 [英] Making an HTML button disappear when clicked through javascript
本文介绍了在点击javascript时制作HTML按钮消失的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在制作电子游戏,并且我想要一个按钮消失,一旦我点击它并移动到下一个屏幕。我可以通过我的html和js文件设置按钮的功能,但我不知道如何使它一旦点击就消失。
我的HTML代码: < html>
< head>
< title> Pong< / title>
< link type =text / csshref =main.css =stylesheet>
< / head>
< canvas id =gameCanvaswidth =1350height =600>< / canvas>
< body>
< button id ='easy_click'onclick =EasyChange()>简单< /按钮>
< button id ='int_change'onclick =intChange()>中级< /按钮>
< button id =hard_changeonclick =hardChange()>硬< /按钮>
< / body>
< script src =functions.js>< / script>
< / html>
这是我的JS代码:
var canvas;
var canvasContext;
var ballX = 50;
var ballY = 50;
var ballSpeedX = 20;
var ballSpeedY = 10
var menuScreen = false;
var name =由Jonah Johnson开发;
var player1Score = 0;
var player2Score = 0;
const WINNING_SCORE = 10;
var easybutton =简单;
var hardButton =硬;
var intButton =Intermediate;
var diffLevelEasy = false;
var diffLevelMedium = true;
var diffLevelHard = false;
var showingWinScreen = true;
var paddle1Y = 250;
var paddle2Y = 250;
const PADDLE_THICKNESS = 10;
const PADDLE_HEIGHT = 100;
函数calculateMousePos(evt){
var rect = canvas.getBoundingClientRect();
var root = document.documentElement;
var mouseX = evt.clientX - rect.left - root.scrollLeft;
var mouseY = evt.clientY - rect.top - root.scrollTop;
return {
x:mouseX,
y:mouseY
};
//改变难度
//容易改变
函数EasyChange(){
diffLevelEasy = true;
diffLevelMedium = false;
diffLevelHard = false;
showingWinScreen = false;
}
函数intChange(){
diffLevelEasy = false;
diffLevelMedium = true;
diffLevelHard = false;
showingWinScreen = false;
}
函数hardChange(){
diffLevelEasy = false;
diffLevelMedium = false;
diffLevelHard = true;
showingWinScreen = false;
}
函数handleMouseClick(evt){
if(showingWinScreen){
player1Score = 0;
player2Score = 0;
showingWinScreen = false;
}
//获得一个简单的媒介
函数handleMouseClick(evt){
if(easybutton){
diffLevelEasy = true;
diffLevelMedium = false;
diffLevelHard = false;
showingWinScreen = false;
$ b $ //获得中等
函数handleMouseClick(evt){
if(intButton){
diffLevelEasy = false;
diffLevelMedium = true;
diffLevelHard = false;
showingWinScreen = false;
$ b //变得很难
函数handleMouseClick(evt){
if(hardButton){
diffLevelEasy = false;
diffLevelMedium = false;
diffLevelHard = true;
showingWinScreen = false;
$ b window.onload = function(){
canvas = document.getElementById('gameCanvas');
canvasContext = canvas.getContext('2d');
var framesPerSecond = 30;
setInterval(function(){
moveEverything();
drawEverything();
},1000 / framesPerSecond);
canvas.addEventListener('mousedown',handleMouseClick);
canvas.addEventListener('mousemove',
function(evt){
var mousePos = calculateMousePos(evt);
paddle1Y = mousePos.y - (PADDLE_HEIGHT / 2);
});
}
函数ballReset(){
if(player1Score> = WINNING_SCORE ||
player2Score> = WINNING_SCORE){
显示WinScreen = true;
}
ballSpeedX = -ballSpeedX;
ballX = canvas.width / 2;
ballY = canvas.height / 2;
函数computerMovement(){
/// ai movement
// easy
if(diffLevelEasy === true){
var paddle2YCenter = paddle2Y +(PADDLE_HEIGHT / 2);
if(paddle2YCenter paddle2Y = paddle2Y + 2;
} else if(paddle2YCenter> ballY + 35){
paddle2Y = paddle2Y - 2;
}
}
// medium
else if(diffLevelMedium === true){
var paddle2YCenter = paddle2Y +(PADDLE_HEIGHT / 2);
if(paddle2YCenter paddle2Y = paddle2Y + 12;
} else if(paddle2YCenter> ballY + 35){
paddle2Y = paddle2Y - 12;
}
}
// hard
else if(diffLevelHard === true){
var paddle2YCenter = paddle2Y +(PADDLE_HEIGHT / 2);
if(paddle2YCenter paddle2Y = paddle2Y + 18;
} else if(paddle2YCenter> ballY + 35){
paddle2Y = paddle2Y - 18;
$ b函数moveEverything(){
if(showingWinScreen){//显示赢屏
返回;
}
computerMovement();
ballX = ballX + ballSpeedX;
ballY = ballY + ballSpeedY;
if(ballX <0){
if(ballY> paddle1Y&&
ballY< paddle1Y + PADDLE_HEIGHT){
ballSpeedX = -ballSpeedX ;
var deltaY = ballY
- (paddle1Y + PADDLE_HEIGHT / 2);
ballSpeedY = deltaY * 0.35;
} else {
player2Score ++; //必须是BEFORE ballReset()
ballReset();
}
}
if(ballX> canvas.width){
if(ballY> paddle2Y&&
ballY< paddle2Y + PADDLE_HEIGHT){
ballSpeedX = -ballSpeedX;
var deltaY = ballY
- (paddle2Y + PADDLE_HEIGHT / 2);
ballSpeedY = deltaY * 0.35;
} else {
player1Score ++; //必须是BEFORE ballReset()
ballReset();
}
}
if(ballY <0){
ballSpeedY = -ballSpeedY;
}
if(ballY> canvas.height){
ballSpeedY = -ballSpeedY;
function drawNet(){
for(var i = 0; i< canvas.height; i + = 40){
colorRect (canvas.width / 2-1,I,2,20, '白');
函数drawEverything(){
//下一行用黑色
空白屏幕colorRect(0,0,canvas.width ,canvas.height, '黑色');
if(showingWinScreen){
canvasContext.fillStyle ='white';
if(player1Score> = WINNING_SCORE){
canvasContext.fillText(Left Player Won,350,200);
} else if(player2Score> = WINNING_SCORE){
canvasContext.fillText(Right Player Won,350,200);
}
canvasContext.fillText(click to continue,350,500);
canvasContext.fillText(难度:,50,50);
canvasContext.fillText(easybutton,50,100);
canvasContext.fillText(intButton,50,200);
canvasContext.fillText(hardButton,50,300);
return;
}
drawNet();
//这是左边玩家桨
colorRect(0,paddle1Y,PADDLE_THICKNESS,PADDLE_HEIGHT,'white');
//这是正确的计算机桨
colorRect(canvas.width-PADDLE_THICKNESS,paddle2Y,PADDLE_THICKNESS,PADDLE_HEIGHT,'white');
//下一行绘制球
colorCircle(ballX,ballY,10,'white');
canvasContext.fillText(player1Score,100,100);
canvasContext.fillText(player2Score,canvas.width-100,100);
canvasContext.fillText(name,100,590);
}
函数colorCircle(centerX,centerY,radius,drawColor){
canvasContext.fillStyle = drawColor;
canvasContext.beginPath();
canvasContext.arc(centerX,centerY,radius,0,Math.PI * 2,true);
canvasContext.fill();
函数colorRect(leftX,topY,width,height,drawColor){
canvasContext.fillStyle = drawColor;
canvasContext.fillRect(leftX,topY,width,height);
}
//设置游戏的难度是多少
if(diffLevel = diffLevelEasy){
var paddle2YCenter = paddle2Y +(PADDLE_HEIGHT / 2);
if(paddle2YCenter paddle2Y = paddle2Y + 2;
} else if(paddle2YCenter> ballY + 35){
paddle2Y = paddle2Y - 2;
我只是想点击时删除按钮,那么我该怎么做呢?
解决方案
在网上找到这个试试看
< code>< input type =buttonid =togglervalue =ToggleronClick =action(); />< input type =buttonid =toggleevalue =Togglee/>< script> var hidden = false;函数action(){hidden =!hidden; if(hidden){document.getElementById('togglee')。style.visibility ='hidden'; } else {document.getElementById('togglee')。style.visibility ='visible';
I am working on a creating a video game, and I want a button to disappear once I click it and move onto the next screen. I can set the function of the button through my html and js file, but I am not sure how to make it disappear once clicked.
My HTML code:
<html>
<head>
<title> Pong </title>
<link type = "text/css" href = "main.css" rel = "stylesheet">
</head>
<canvas id="gameCanvas" width="1350" height="600"></canvas>
<body>
<button id = 'easy_click' onclick="EasyChange()"> Easy </button>
<button id = 'int_change' onclick="intChange()"> Intermediate </button>
<button id = "hard_change" onclick="hardChange()"> Hard </button>
</body>
<script src = "functions.js"></script>
</html>
Here is my JS code:
var canvas;
var canvasContext;
var ballX = 50;
var ballY = 50;
var ballSpeedX = 20;
var ballSpeedY = 10
var menuScreen = false;
var name = "Developed by Jonah Johnson";
var player1Score = 0;
var player2Score = 0;
const WINNING_SCORE = 10;
var easybutton = "Easy";
var hardButton = "Hard";
var intButton = "Intermediate";
var diffLevelEasy = false;
var diffLevelMedium = true;
var diffLevelHard = false;
var showingWinScreen = true;
var paddle1Y = 250;
var paddle2Y = 250;
const PADDLE_THICKNESS = 10;
const PADDLE_HEIGHT = 100;
function calculateMousePos(evt) {
var rect = canvas.getBoundingClientRect();
var root = document.documentElement;
var mouseX = evt.clientX - rect.left - root.scrollLeft;
var mouseY = evt.clientY - rect.top - root.scrollTop;
return {
x:mouseX,
y:mouseY
};
}
//changing of difficulty
//easy changing
function EasyChange() {
diffLevelEasy = true;
diffLevelMedium = false;
diffLevelHard = false;
showingWinScreen = false;
}
function intChange() {
diffLevelEasy = false;
diffLevelMedium = true;
diffLevelHard = false;
showingWinScreen = false;
}
function hardChange() {
diffLevelEasy = false;
diffLevelMedium = false;
diffLevelHard = true;
showingWinScreen = false;
}
function handleMouseClick(evt) {
if(showingWinScreen) {
player1Score = 0;
player2Score = 0;
showingWinScreen = false;
}
}
// getting an easy medium
function handleMouseClick(evt) {
if(easybutton) {
diffLevelEasy = true;
diffLevelMedium = false;
diffLevelHard = false;
showingWinScreen = false;
}
}
//getting medium
function handleMouseClick(evt) {
if(intButton) {
diffLevelEasy = false;
diffLevelMedium = true;
diffLevelHard = false;
showingWinScreen = false;
}
}
//getting hard
function handleMouseClick(evt) {
if(hardButton) {
diffLevelEasy = false;
diffLevelMedium = false;
diffLevelHard = true;
showingWinScreen = false;
}
}
window.onload = function() {
canvas = document.getElementById('gameCanvas');
canvasContext = canvas.getContext('2d');
var framesPerSecond = 30;
setInterval(function() {
moveEverything();
drawEverything();
}, 1000/framesPerSecond);
canvas.addEventListener('mousedown', handleMouseClick);
canvas.addEventListener('mousemove',
function(evt) {
var mousePos = calculateMousePos(evt);
paddle1Y = mousePos.y - (PADDLE_HEIGHT/2);
});
}
function ballReset() {
if(player1Score >= WINNING_SCORE ||
player2Score >= WINNING_SCORE) {
showingWinScreen = true;
}
ballSpeedX = -ballSpeedX;
ballX = canvas.width/2;
ballY = canvas.height/2;
}
function computerMovement() {
/// ai movement
//easy
if(diffLevelEasy === true) {
var paddle2YCenter = paddle2Y + (PADDLE_HEIGHT/2);
if(paddle2YCenter < ballY - 35) {
paddle2Y = paddle2Y + 2;
} else if(paddle2YCenter > ballY + 35) {
paddle2Y = paddle2Y - 2;
}
}
//medium
else if(diffLevelMedium === true) {
var paddle2YCenter = paddle2Y + (PADDLE_HEIGHT/2);
if(paddle2YCenter < ballY - 35) {
paddle2Y = paddle2Y + 12;
} else if(paddle2YCenter > ballY + 35) {
paddle2Y = paddle2Y - 12;
}
}
//hard
else if(diffLevelHard === true) {
var paddle2YCenter = paddle2Y + (PADDLE_HEIGHT/2);
if(paddle2YCenter < ballY - 35) {
paddle2Y = paddle2Y + 18;
} else if(paddle2YCenter > ballY + 35) {
paddle2Y = paddle2Y - 18;
}
}
}
function moveEverything() {
if(showingWinScreen) { //showing win screen
return;
}
computerMovement();
ballX = ballX + ballSpeedX;
ballY = ballY + ballSpeedY;
if(ballX < 0) {
if(ballY > paddle1Y &&
ballY < paddle1Y+PADDLE_HEIGHT) {
ballSpeedX = -ballSpeedX;
var deltaY = ballY
-(paddle1Y+PADDLE_HEIGHT/2);
ballSpeedY = deltaY * 0.35;
} else {
player2Score++; // must be BEFORE ballReset()
ballReset();
}
}
if(ballX > canvas.width) {
if(ballY > paddle2Y &&
ballY < paddle2Y+PADDLE_HEIGHT) {
ballSpeedX = -ballSpeedX;
var deltaY = ballY
-(paddle2Y+PADDLE_HEIGHT/2);
ballSpeedY = deltaY * 0.35;
} else {
player1Score++; // must be BEFORE ballReset()
ballReset();
}
}
if(ballY < 0) {
ballSpeedY = -ballSpeedY;
}
if(ballY > canvas.height) {
ballSpeedY = -ballSpeedY;
}
}
function drawNet() {
for(var i=0;i<canvas.height;i+=40) {
colorRect(canvas.width/2-1,i,2,20,'white');
}
}
function drawEverything() {
// next line blanks out the screen with black
colorRect(0,0,canvas.width,canvas.height,'black');
if(showingWinScreen) {
canvasContext.fillStyle = 'white';
if(player1Score >= WINNING_SCORE) {
canvasContext.fillText("Left Player Won", 350, 200);
} else if(player2Score >= WINNING_SCORE) {
canvasContext.fillText("Right Player Won", 350, 200);
}
canvasContext.fillText("click to continue", 350, 500);
canvasContext.fillText("Difficulty:", 50, 50);
canvasContext.fillText(easybutton, 50, 100);
canvasContext.fillText(intButton, 50, 200);
canvasContext.fillText(hardButton, 50, 300);
return;
}
drawNet();
// this is left player paddle
colorRect(0,paddle1Y,PADDLE_THICKNESS,PADDLE_HEIGHT,'white');
// this is right computer paddle
colorRect(canvas.width-PADDLE_THICKNESS,paddle2Y,PADDLE_THICKNESS,PADDLE_HEIGHT,'white');
// next line draws the ball
colorCircle(ballX, ballY, 10, 'white');
canvasContext.fillText(player1Score, 100, 100);
canvasContext.fillText(player2Score, canvas.width-100, 100);
canvasContext.fillText(name, 100, 590);
}
function colorCircle(centerX, centerY, radius, drawColor) {
canvasContext.fillStyle = drawColor;
canvasContext.beginPath();
canvasContext.arc(centerX, centerY, radius, 0,Math.PI*2,true);
canvasContext.fill();
}
function colorRect(leftX,topY, width,height, drawColor) {
canvasContext.fillStyle = drawColor;
canvasContext.fillRect(leftX,topY, width,height);
}
//sets how hard the game is
if(diffLevel = diffLevelEasy) {
var paddle2YCenter = paddle2Y + (PADDLE_HEIGHT/2);
if(paddle2YCenter < ballY - 35) {
paddle2Y = paddle2Y + 2;
} else if(paddle2YCenter > ballY + 35) {
paddle2Y = paddle2Y - 2;
}
}
I am just trying to make the button delete when clicked, so how do I do that?
解决方案
Found this on web try it
<input type="button" id="toggler" value="Toggler" onClick="action();" />
<input type="button" id="togglee" value="Togglee" />
<script>
var hidden = false;
function action() {
hidden = !hidden;
if(hidden) {
document.getElementById('togglee').style.visibility = 'hidden';
} else {
document.getElementById('togglee').style.visibility = 'visible';
}
}
</script>
这篇关于在点击javascript时制作HTML按钮消失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文