基于js,写一个定时器
时间: 2024-05-11 13:15:12 浏览: 15
当然可以,下面是一个简单的js定时器代码示例:
```javascript
function myTimer() {
var d = new Date();
var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
}
setInterval(myTimer, 1000);
```
这个定时器会每秒钟更新一次页面上某个元素的时间,你可以根据自己的需求修改。
相关问题
用js写一个轮播图
好的,以下是一个简单的基于 JavaScript 的轮播图实现:
HTML:
```html
<div class="slider">
<div class="slides">
<img src="image1.jpg">
<img src="image2.jpg">
<img src="image3.jpg">
</div>
<div class="controls">
<span class="prev">◀</span>
<span class="next">▶</span>
</div>
</div>
```
CSS:
```css
.slider {
position: relative;
width: 100%;
height: 400px;
}
.slides {
position: absolute;
width: 100%;
height: 100%;
display: flex;
transition: transform 0.5s ease-in-out;
}
.slides img {
width: 100%;
height: 100%;
object-fit: cover;
}
.controls {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
}
.controls span {
display: inline-block;
width: 40px;
height: 40px;
font-size: 30px;
color: white;
background-color: rgba(0, 0, 0, 0.5);
border-radius: 50%;
cursor: pointer;
text-align: center;
line-height: 40px;
margin-right: 10px;
transition: background-color 0.2s ease-in-out;
}
.controls span:hover {
background-color: rgba(0, 0, 0, 0.8);
}
```
JavaScript:
```javascript
const slider = document.querySelector('.slider');
const slides = slider.querySelector('.slides');
const prevBtn = slider.querySelector('.prev');
const nextBtn = slider.querySelector('.next');
const slideWidth = slides.getBoundingClientRect().width;
let currentIndex = 0;
function goToSlide(index) {
slides.style.transform = `translateX(-${index * slideWidth}px)`;
currentIndex = index;
}
function goToPrevSlide() {
if (currentIndex === 0) {
goToSlide(slides.children.length - 1);
} else {
goToSlide(currentIndex - 1);
}
}
function goToNextSlide() {
if (currentIndex === slides.children.length - 1) {
goToSlide(0);
} else {
goToSlide(currentIndex + 1);
}
}
prevBtn.addEventListener('click', goToPrevSlide);
nextBtn.addEventListener('click', goToNextSlide);
goToSlide(currentIndex);
setInterval(goToNextSlide, 3000);
```
这个轮播图采用了 flexbox 布局,通过设置 `transform` 属性来定位每一张图片。同时,通过监听左右箭头的点击事件以及使用 `setInterval` 定时器实现了自动轮播。
写一个贪吃蛇 JS代码
### 回答1:
我可以给你一些基本的代码:// 设置画布大小
let canvas = document.getElementById("canvas");
let ctx = canvas.getContext("2d");
let box = 32;
let score = 0;// 创建蛇
let snake = [];
snake[0] = {
x : 9 * box,
y : 10 * box
};// 创建食物
let food = {
x : Math.floor(Math.random()*17+1) * box,
y : Math.floor(Math.random()*15+3) * box
}// 画出蛇
function draw() {
ctx.fillStyle = "white";
ctx.fillRect(0, 0, canvas.width, canvas.height); for(let i = 0; i < snake.length ; i++){
ctx.fillStyle = ( i == 0 )? "green" : "white";
ctx.fillRect(snake[i].x,snake[i].y,box,box);
} ctx.fillStyle = "red";
ctx.fillRect(food.x,food.y,box,box);
}// 创建控制蛇移动的函数
let d;document.addEventListener("keydown",direction);function direction(event){
let key = event.keyCode;
if( key == 37 && d != "RIGHT"){
d = "LEFT";
}else if(key == 38 && d != "DOWN"){
d = "UP";
}else if(key == 39 && d != "LEFT"){
d = "RIGHT";
}else if(key == 40 && d != "UP"){
d = "DOWN";
}
}// 控制蛇移动
function move(){
let snakeX = snake[0].x;
let snakeY = snake[0].y; // 根据按键方向改变蛇头方向
if( d == "LEFT") snakeX -= box;
if( d == "UP") snakeY -= box;
if( d == "RIGHT") snakeX += box;
if( d == "DOWN") snakeY += box; // 如果吃到食物,生成新的身体
if(snakeX == food.x && snakeY == food.y){
score++;
food = {
x : Math.floor(Math.random()*17+1) * box,
y : Math.floor(Math.random()*15+3) * box
}
}else{
// 否则去掉尾部,移动蛇头
snake.pop();
} let newHead = {
x : snakeX,
y : snakeY
} // 添加新头
snake.unshift(newHead);
}// 开始游戏
let game = setInterval(draw,100);
### 回答2:
贪吃蛇游戏是一个经典的游戏,下面给出一个基于JavaScript的简单实现。
首先,我们需要一个画布来渲染游戏界面,可以使用HTML的canvas元素来创建一个宽高为500像素的画布,例如:
```
<canvas id="gameCanvas" width="500" height="500"></canvas>
```
然后,我们需要编写JavaScript代码来实现游戏逻辑。首先,定义一些变量来表示游戏状态,例如蛇的位置、食物的位置、游戏是否结束等。定义蛇的初始位置和移动的方向,以及食物的随机位置。在画布上绘制蛇和食物。
接下来,为蛇的移动提供相应的键盘事件监听器,根据按键的方向来改变蛇的移动方向。蛇的移动是通过不断更新蛇的位置来实现的。当蛇吃到食物时,蛇的长度增加,并生成一个新的食物。
在每次更新蛇的位置后,需要检查蛇是否碰到了边界或者自己的身体,如果是则游戏结束。游戏结束后,可以显示游戏结束的提示信息,并重新开始游戏。
整个游戏的逻辑可以放在一个循环中,使得蛇能够持续移动。每次循环时,清除画布并重新绘制蛇和食物。
以上是一个简单的贪吃蛇的实现。当然,还可以添加更多的功能和效果,例如分数、障碍物、难度增加等。
### 回答3:
贪吃蛇是一款经典的游戏,我们可以使用JS代码来实现一个简单版本的贪吃蛇游戏。
首先,我们需要创建一个画布,并设置其宽度和高度,用于显示游戏界面。然后,我们需要定义一些变量来保存蛇的位置、方向、食物的位置等信息。游戏开始时,蛇初始位置位于画布的中央,并且初始长度为1。
我们可以使用键盘事件来控制蛇的移动方向,例如按下上箭头键可以使蛇向上移动,按下下箭头键可以使蛇向下移动,以此类推。在蛇移动的过程中,我们需要检测蛇是否吃到了食物,如果吃到了,则在画布上生成一个新的食物,并将蛇的长度加1。
此外,我们还需要检测蛇是否碰到了边界或者自己的身体,如果碰到了,则游戏结束。
接下来,我们需要使用定时器 setInterval() 来不断更新蛇的位置,并根据蛇的位置在画布上绘制蛇和食物。每隔一段时间,蛇就会根据当前移动方向前进一格。当蛇吃到食物、碰到边界或者自己的身体时,游戏结束。
最后,我们可以给游戏添加一些额外的功能,例如计分板、难度递增等。
总之,通过使用JS代码,我们可以实现一个基本的贪吃蛇游戏。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![html](https://img-home.csdnimg.cn/images/20210720083451.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)