<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
div div {
width: 30px
height: 30px
display: inline-block
border: 1px solid black
background-repeat: no-repeat
background-size: 300% 300%
}
#img1 {
background-position: top left
}
#img2 {
background-position: top
}
#img3 {
background-position: top right
}
#img4 {
background-position: center left
}
#img5 {
background-position: center
}
#img6 {
background-position: center right
}
#img7 {
background-position: bottom left
}
#img8 {
background-position: bottom
}
#img9 {
background-position: bottom right
}
</style>
</head>
<body>
<div>
<div id="img1"></div>
<div id="img2"></div>
<div id="img3"></div>
</div>
<div>
<div id="img4"></div>
<div id="img5"></div>
<div id="img6"></div>
</div>
<div>
<div id="img7"></div>
<div id="img8"></div>
<div id="img9"></div>
</div>
<button>next</button>
</body>
<script>
let arr = ["http://iconfont.alicdn.com/t/1522400286994.jpg@100h_100w.jpg", "http://iconfont.alicdn.com/t/1510710350863.png@100h_100w.jpg", "http://iconfont.alicdn.com/t/1553563063102.jpg@100h_100w.jpg"]
let num = 0
let imgFun = () => {
document.querySelectorAll("div div").forEach(item => {
item.style.backgroundImage = 'url(' + arr[num] + ')'
})
}
imgFun()
document.querySelector("button").onclick = () => {
if (num < arr.length - 1) {
num++
} else {
num = 0
}
imgFun()
}
</script>
</html>
请采纳
可以用css+jQuery来做,当然html5现在已经具有了拖动的功能,你也可以去了解一下,这个是案例:http://www.w3school.com.cn/tiy/t.asp?f=html5_draganddrop如果用老方法完成,就要用到mousedown,onmousemove及mouseup三个事件,当触发当前元素的mousedown事件时,你给当前元素设置层级关系为最高并且允许拖动!
数字版“拼图”游戏C源代码:
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
int i, j, r, k //i、j、r用于循环, k存放随机数值
int m, n // m、n是当前空位的下标, t标记排序是否成功
void show(void) //输出数组表格
void csh(void) //初始化界面
int yes(void) //判断排序是否成功
void up(void) //数字向上移动到空位(空位则下移)
void down(void) //数字向下移
void left(void) //数字向左移
void rght(void) //数字向右移
void inkey(void) //按键 *** 作
void gtxy(int x, int y) //控制光标移动的函数
int main(void)
{ while(1)
{csh( )
while(1)
{ inkey()
show()
if ( yes( ) )
{gtxy(6,12)printf("你成功了! 再来一局y/n?")break}
}
if(getch( )== ʹnʹ)break
}
return 0
}
void csh(void)
{ r=0
CONSOLE_CURSOR_INFO cursor_info={1,0} //以下两行是隐藏光标的设置
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info)
for(i=0i<4i++) //给数组a依序赋值
for(j=0j<4j++)
{ if (i==3 &&j==3) a[i][j]=0
else a[i][j]=1+r++
}
a[3][3]=a[1][1]a[1][1]=0 //把a[3][3]与a[1][1]的值交换一下
m=1n=1
srand((unsigned)time(0)) //初始化随机数发生器
for(r=0r<500r++) //将数组各值打乱
{ k=rand( )%(4) //取0-3随机数,分别代表上下左右四个方向
switch(k)
{ case 0: { up( ) break}
case 1: {down( ) break}
case 2: { left( ) break}
case 3: { rght( )break}
}
}
printf("\n\n\t\t 数字拼图")
printf("\n\t┌──────┬──────┬──────┬──────┐")
printf("\n\t│ │ │ │ │")
printf("\n\t├──────┼──────┼──────┼──────┤")
printf("\n\t│ │ │ │ │")
printf("\n\t├──────┼──────┼──────┼──────┤")
printf("\n\t│ │ │ │ │")
printf("\n\t├──────┼──────┼──────┼──────┤")
printf("\n\t│ │ │ │ │")
printf("\n\t└──────┴──────┴──────┴──────┘")
show( )
}
void show(void)
{for(i=0i<4i++)
for(j=0j<4j++) //gtxy(7*j+9, 2*i+4)是光标到指定位置输出数字
{gtxy(7*j+9,2*i+4)if(a[i][j]==0)printf(" │")
else if(a[i][j]>9)printf(" %d │",a[i][j])
else printf(" %d │",a[i][j])
}
}
void inkey(void)
{ int key
key=getch( )
switch(key)
{ case 72: { up( )break }
case 80: {down( )break}
case 75: {left( )break}
case 77: { rght( ) break }
}
}
void up(void)
{ if (m!=3) //移动时要考虑空位"0"是否已经在边界
{ a[m][n]=a[m+1][n] m++a[m][n]=0}
}
void down(void)
{ if (m!=0)
{a[m][n]=a[m-1][n] m--a[m][n]=0}
}
void left(void)
{ if (n!=3)
{ a[m][n]=a[m][n+1]n++a[m][n]=0 }
}
void rght(void)
{ if (n!=0)
{ a[m][n]=a[m][n-1]n--a[m][n]=0}
}
int yes(void)
{ r=0
for(i=0i<4i++)
for(j=0j<4j++)
{ if (a[i][j]!=1+r++) return (r==16)?1:0}
}
void gtxy(int x, int y) //控制光标移动的函数
{ COORD coord
coord.X = x
coord.Y = y
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)