随机验证码生成
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
.str-block {
width: 200px;
height: 50px;
line-height: 50px;
border: 1px solid black;
display: inline-block;
background-image: url("./img/bg.png");
background-size: 100% 100%;
background-repeat: no-repeat;
text-align: center;
overflow: hidden;
}
.str-block > span {
display: inline-block;
}
.look {
display: inline-block;
color: blue;
font-size: 13px;
cursor: pointer;
}
</style>
</head>
<body>
<div>
<div class="str-block">
</div>
<span class="look">看不清楚...</span>
</div>
<input type="text" id="txt"/>
<button id="btn">验证</button>
<script>
/*
* 总共6位
* 随机生成数字0-9
* */
var str = "";
function showchar() {
str = "";
var ele = "";
for (var i = 0; i < 6; i++) {
var gai = Math.random();
if (gai <= 0.25) {
ele += randomnumber();
}
else if (gai > 0.25 && gai <= 0.5) {
ele += randomsmallchar();
}
else if (gai > 0.5 && gai <= 0.75) {
ele += randombigchar();
}
else {
ele += randomhan();
}
}
return ele;
}
//生成随机颜色
function randomColor() {
var c = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e', 'f'];
var s = "";
for (var i = 0; i < 6; i++) {
s += c[Math.floor(Math.random() * c.length)];
}
return "#" + s;
}
function randomnumber() {
var s = Math.floor(Math.random() * 10);
str += s;
//生成大小
var font = Math.floor(Math.random() * 25 + 15);
var color = randomColor();
var marleft = Math.floor(Math.random() * 3 + 5);
var angle = Math.cos(Math.random() * 180 * Math.PI / 180) > 0 ? (Math.random() * 20 + 25) : -(Math.random() * 20 + 25);
return "<span style='transform:rotatez(" + angle + "deg);margin:0 " + marleft + "px;font-size: " + font + "px; color:" + color + ";'>" + s + "</span>";
}
function randomsmallchar() {
var s = Math.floor(Math.random() * 26 + 97);
str += String.fromCharCode(s);
var font = Math.floor(Math.random() * 25 + 15);
var color = randomColor();
var marleft = Math.floor(Math.random() * 3 + 5);
var angle = Math.cos(Math.random() * 180 * Math.PI / 180) > 0 ? (Math.random() * 20 + 25) : -(Math.random() * 20 + 25);
return "<span style='transform:rotatez(" + angle + "deg);margin:0 " + marleft + "px;font-size: " + font + "px; color:" + color + ";'>" + String.fromCharCode(s) + "</span>";
}
function randombigchar() {
var s = Math.floor(Math.random() * 26 + 97);
str += String.fromCharCode(s).toUpperCase();
var font = Math.floor(Math.random() * 25 + 15);
var color = randomColor();
var marleft = Math.floor(Math.random() * 3 + 5);
var angle = Math.cos(Math.random() * 180 * Math.PI / 180) > 0 ? (Math.random() * 20 + 25) : -(Math.random() * 20 + 25);
return "<span style='transform:rotatez(" + angle + "deg);margin:0 " + marleft + "px;font-size: " + font + "px; color:" + color + ";'>" + String.fromCharCode(s).toUpperCase() + "</span>";
}
function randomhan() {
var string = "中国语言文字网将由教育部语言文字应用研究所主办和运行管理,新网站访问入口更改";
var s = string.charAt(Math.floor(Math.random() * string.length));
str += s;
var font = Math.floor(Math.random() * 20 + 15);
var color = randomColor();
var angle = Math.cos(Math.random() * 180 * Math.PI / 180) > 0 ? (Math.random() * 20 + 25) : -(Math.random() * 20 + 25);
return "<span style='transform:rotatez(" + angle + "deg);font-size: " + font + "px; color:" + color + ";'>" + s + "</span>";
}
window.onload = function () {
var sblock = document.getElementsByClassName("str-block")[0];
var look = document.getElementsByClassName("look")[0];
var btn = document.getElementById("btn");
var txt = document.getElementById("txt");
sblock.innerHTML = showchar();
look.onclick = function () {
sblock.innerHTML = showchar();
}
btn.onclick = function () {
var user = txt.value;
if (user.toLowerCase() == str.toLowerCase()) {
alert("验证成功!")
}
else {
alert("验证失败!");
sblock.innerHTML = showchar();
txt.value = "";
}
}
}
</script>
</body>
</html>
简单的数据分页
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
.b1 > ul {
display: inline-block;
}
.b1 > ul > li {
list-style: none;
display: inline-block;
width: 30px;
height: 30px;
text-align: center;
line-height: 30px;
border: 1px solid silver;
}
.b1 > button {
width: 100px;
height: 30px;
border: 1px solid silver;
background: transparent;
outline: none;
}
.bgcolor {
background: #32bcff;
color: #fff;
}
</style>
</head>
<body>
<div class="b1">
<button id="uppage">上一页</button>
<ul class="menu">
<li class="bgcolor">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
</ul>
<button id="downpage">下一页</button>
</div>
<script>
var uppage = document.getElementById("uppage");
var downpage = document.getElementById("downpage");
var menu = document.getElementsByClassName("menu")[0].children;
downpage.onclick = function () {
for (var i = 0; i < menu.length; i++) {
menu[i].innerHTML = parseInt(menu[i].innerHTML) + 10;
}
}
uppage.onclick = function () {
if (parseInt(menu[0].innerHTML) <= 1) {
return;
}
for (var i = 0; i < menu.length; i++) {
menu[i].innerHTML = parseInt(menu[i].innerHTML) - 10;
}
}
for (var i = 0; i < menu.length; i++) {
menu[i].onclick = function () {
for (var k = 0; k < menu.length; k++) {
menu[k].className = "";
}
this.className = "bgcolor";
}
}
</script>
</body>
</html>
简单的三级联动
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
select{
border: 1px solid #000000;
width: 100px;
outline: none;
height: 30px;
}
option{
color: #000000;
}
</style>
</head>
<body>
省:<select id="s1">
<option>—请选择—</option>
</select>
市:<select id="s2">
<option>—请选择—</option>
</select>
区:<select id="s3">
<option>—请选择—</option>
</select>
<script>
/*
* json 数据模拟后台数据
* */
var city = [
{
"id": 10001,
"name": "陕西省",
"child": [
{
"id": 100011,
"name": "西安市",
"child": [
{
"id": 100011,
"name": "高新区"
},
{
"id": 100011,
"name": "未央区"
},{
"id": 100011,
"name": "莲湖区"
},
{
"id": 100011,
"name": "碑林区"
}
]
},
{
"id": 100012,
"name": "宝鸡市",
"child": [
{
"id": 100011,
"name": "高新区"
},
{
"id": 100011,
"name": "成仓区"
}
]
}
]
},
{
"id": 10002,
"name": "云南省",
"child": [
{
"id": 100021,
"name": "大理市",
"child": [
{
"id": 100021,
"name": "大理市区1"
},
{
"id": 100021,
"name": "大理市区2"
}
]
},
{
"id": 100022,
"name": "丽江市",
"child": [
{
"id": 100021,
"name": "丽江市区1"
},
{
"id": 100021,
"name": "丽江市区2"
}
]
},{
"id": 100022,
"name": "西双版纳市",
"child": [
{
"id": 100021,
"name": "西双版纳市区1"
},
{
"id": 100021,
"name": "西双版纳市区2"
}
]
},{
"id": 100023,
"name": "昆明市",
"child": [
{
"id": 100021,
"name": "昆明市区1"
},
{
"id": 100021,
"name": "昆明市区2"
}
]
}
]
}
]
var s1 = document.getElementById("s1");
var s2 = document.getElementById("s2");
var s3= document.getElementById("s3");
for (var i = 0; i < city.length; i++) {
var opt = new Option(city[i].name,i);
s1.appendChild(opt);
}
//添加事件
var cityname=null;
s1.onchange=function (){
//s2做个清除
s2.options.length=1;
//s3做个清除
s3.options.length=1;
var index=this.value;
cityname=city[index].child;
for(var i=0;i<cityname.length;i++)
{
var opt=new Option(cityname[i].name,i);
s2.appendChild(opt);
}
}
s2.onchange=function (){
//s3做个清除
s3.options.length=1;
var index=this.value;
var qu=cityname[index].child;
for(var i=0;i<qu.length;i++)
{
var opt=new Option(qu[i].name,i);
s3.appendChild(opt);
}
}
</script>
</body>
</html>