下拉更换背景
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0;
padding: 0;
}
body, html {
height: 100%;
}
body {
background-image: url(../img/bg-img/1.jpg);
background-size: cover;
background-position: center;
}
</style>
</head>
<body>
<select name="image" id="select">
<option value="0">春意绵绵</option>
<option value="1">夏日炎炎</option>
<option value="2">秋声瑟瑟</option>
<option value="3">冬雪凯凯</option>
</select>
<script>
//给下拉列表添加改变事件
var sel= document.getElementById('select');
sel.onchange=function(){
//获取选中的option的value
// console.log(this.value);
//获取背景图片名上的数字
var num= parseInt(this.value)+1;
document.body.style.backgroundImage="url(../img/bg-img/"+num+".jpg)";
}
</script>
</body>
</html>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/92f7a3813d5cf3295ef11c5c70ed53e2.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/45c99a7d90951563ac31765f3066a7b2.png)
小蜜蜂飞啊飞
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
img {
position: fixed;
/* 鼠标指针的形状,pointer表示手形 */
cursor: pointer;
}
</style>
</head>
<body>
<img src="../img/mifeng/miaomifeng.gif" alt="小蜜蜂" id="mifeng">
<script>
var mifeng=document.getElementById('mifeng');
//在鼠标移动过程中,动态的获取鼠标指针的坐标
document.onmousemove=function(event){
//鼠标指针的x,y坐标
var x= event.clientX;
var y=event.clientY;
//获取小蜜蜂图片的宽
var width= mifeng.clientWidth;
//获取小蜜蜂图片的高
var height=mifeng.clientHeight;
//设置图片的样式属性left,top
mifeng.style.left=(x-width/2)+"px";
mifeng.style.top=(y-height/2)+"px";
}
</script>
</body>
</html>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ab054f024a0b89466b8dfa18ffacf887.png)
百度音乐盒
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div style="width:600px;height:500px;border:1px solid gray;margin: 0px auto">
<h2>百度音乐盒</h2>
<input type="button" id="btn1" value="全选" />
<input type="button" id="btn2" value="全否" />
<input type="button" id="btn3" value="反选" />
<input type="button" id="btn4" value="播放" />
<hr>
<input type="checkbox" name="song" value="爱你一万年" />爱你一万年<br>
<input type="checkbox" name="song" value="海阔天空" />海阔天空<br>
<input type="checkbox" name="song" value="蓝精灵之歌" />蓝精灵之歌<br>
<input type="checkbox" name="song" value="因为爱情" />因为爱情<br>
</div>
<script>
//给全选按钮添加单击事件
var btn1= document.getElementById('btn1');
btn1.onclick=function(){
var checkboxs=document.getElementsByName("song");
//遍历
for(var i=0;i<checkboxs.length;i++){
checkboxs[i].checked=true;
}
}
//给全否按钮添加单击事件
var btn2= document.getElementById('btn2');
btn2.onclick=function(){
var checkboxs=document.getElementsByName("song");
//遍历
for(var i=0;i<checkboxs.length;i++){
checkboxs[i].checked=false;
}
}
//给反选按钮添加单击事件
var btn3= document.getElementById('btn3');
btn3.onclick=function(){
var checkboxs=document.getElementsByName("song");
//遍历
for(var i=0;i<checkboxs.length;i++){
checkboxs[i].checked=!checkboxs[i].checked;
}
}
//给播放按钮添加单击事件
var btn4= document.getElementById('btn4');
btn4.onclick=function(){
var checkboxs=document.getElementsByName("song");
//数组
var songs=[];
//遍历
for(var i=0;i<checkboxs.length;i++){
//判断当前checkbox是否被选中
if(checkboxs[i].checked){
//获取选中的歌曲
var value= checkboxs[i].value;
//添加到数组
songs.push(value);
}
}
//把数组转换成字符串
var str= songs.join(',');
alert(str);
}
</script>
</body>
</html>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/aaacfd200f8cf8e132f773279a217528.png)
城市多选移动案列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.move {
display: inline-block;
width: 30px;
}
select {
width: 50px;
height: 100px;
}
</style>
</head>
<body>
<select id="left-city" multiple>
<option value="0">重庆</option>
<option value="1">武汉</option>
<option value="2">上海</option>
<option value="3">成都</option>
<option value="4">北京</option>
</select>
<div class="move">
<button id="left-btn">>></button>
<button id="right-btn"><<</button>
</div>
<select id="right-city" multiple>
<!--<option value="5">深圳</option>-->
</select>
<script>
//获取按钮
var leftBtn=document.getElementById('left-btn');
var rightBtn=document.getElementById('right-btn');
//获取两个下拉列表
var leftCity=document.getElementById('left-city');
var rightCity=document.getElementById('right-city');
//给leftBtn添加事件
leftBtn.onclick=function(){
//获取左边下拉列表中的所有option元素
var options=leftCity.children;
for(var i=options.length-1;i>=0;i--){
if(options[i].selected){
//移动到右边的下拉列表中
rightCity.appendChild(options[i]);
}
}
}
//给rightBtn添加事件
rightBtn.onclick=function(){
//获取右边下拉列表中的所有option元素
var options=rightCity.children;
for(var i=options.length-1;i>=0;i--){
if(options[i].selected){
//移动到左边的下拉列表中
leftCity.appendChild(options[i]);
}
}
}
</script>
</body>
</html>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/342da0c9d93c423cb19a980951c62065.png)
省市选择移动案列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
select {
width: 120px;
}
</style>
<script>
var data = {
"北京市": ["西城区", "朝阳区", "海淀区", "丰台区", "石景山区", "通州区", "顺义区", "房山区", "大兴区", "昌平区", "怀柔区", "平谷区", "门头沟区", "密云县", "延庆县"],
"河北省": ["石家庄市", "唐山市", "秦皇岛市", "邯郸市", "邢台市", "保定市", "张家口市", "承德市", "沧州市", "廊坊市", "衡水市"],
"天津": ["和平区", "河西区", "南开区", "河东区", "红桥区", "东丽区", "河北区", "津南区", "滨海新区", "西青区", "北城区", "武清区"],
"山西省": ["太原市", "大同市", "阳泉市", "长治市", "晋城市", "朔州市", "晋中市", "运城市", "忻州市"],
"内蒙古省": ["呼和浩特市", "包头市", "乌海市", "赤峰市", "通辽市", "鄂尔多斯市", "呼伦贝尔市", "巴彦淖尔市", "乌兰察布市", "锡林郭勒盟", "阿拉善盟"],
"辽宁省": ["沈阳市", "沈阳市", "鞍山市", "抚顺市", "本溪市", "丹东市", "锦州市", "阜新市", "营口市", "辽阳市", "盘锦市"],
"吉林省": ["长春市", "吉林市", "四平市", "辽源市", "通化市", "白山市", "白城市", "松原市", "延边朝鲜族自治州", "长白山管委会", "梅河口", "公主岭"],
"黑龙江省": ["哈尔滨市", "齐齐哈尔市", "佳木斯市", "大庆市", "伊春市", "鸡西市", "鹤岗市", "双鸭山市", "七台河市", "大兴安岭地区", "绥芬河市"],
"上海市": ["黄浦区", "浦东新区", "徐汇区", "长宁区", "静安区", "普陀区", "闸北区", "虹口区", "杨浦区", "闵行区", "宝山区", "嘉定区", "金山区", "松江区", "青浦区"],
"江苏省": ["南京市", "无锡市", "徐州市", "常州市", "苏州市", "南通市", "连云港市", "淮安市", "盐城市", "扬州市", "镇江市", "泰州市", "宿迁市"],
"浙江省": ["杭州市", "宁波市", "温州市", "绍兴市", "湖州市", "嘉兴市", "金华市", "衢州市", "舟山市", "泰州市", "丽水市"],
"安徽省": ["合肥市", "芜湖市", "蚌埠市", "马鞍山市", "安庆市", "淮南市", "铜陵市", "黄山市", "宣城市", "池州市", "滁州市", "淮北市", "阜阳市", "六安市", "宿州市", "亳州市"],
"江西省": ["南昌市", "九江市", "上饶市", "抚州市", "宜春市", "吉安市", "赣州市", "景德镇", "萍乡市", "新余市", "鹰潭市"],
"福建省": ["厦门市", "漳州市", "泉州市", "三明市", "莆田市", "南平市", "龙岩市", "宁德市", "平潭市"],
"山东省": ["济南市", "青岛市", "淄博市", "枣庄市", "东营市", "烟台市", "潍坊市", "济宁市", "泰安市", "威海市", "日照市", "滨州市", "德州市", "聊城市", "临沂市", "菏泽市", "莱芜市"],
"台湾省": ["台北市", "新北市", "台中市", "台南市", "高雄市", "桃园县", "新竹县", "苗栗县", "彰化县", "南投县", "云林县", "嘉义县", "花莲县", "宜兰县", "台东县", "澎湖县", "金门县", "连江县", "基隆市", "新竹市", "嘉义市"],
"河南省": ["郑州市", "开封市", "洛阳市", "平顶山市", "安阳市", "鹤壁市", "新乡市", "焦作市", "濮阳市", "许昌市", "漯河市", "三门峡", "商丘市", "周口市", "驻马店市", "南阳市", "信阳市", "济源市"],
"湖北省": ["武汉市", "黄石市", "十堰市", "荆州市", "宜昌市", "襄阳市", "鄂州市", "荆门市", "黄冈市", "孝感市", "咸宁市", "仙桃市", "潜江市", "神农架林区", "恩施土家住苗族自治州", "天门市", "随州市"],
"湖南省": ["长沙市", "株洲市", "湘潭市", "衡阳市", "邵阳市", "岳阳市", "常德市", "张家界市", "益阳市", "娄底市", "郴州市", "永州市", "怀化市", "湘西土家族苗族自治州"],
"广东省": ["广州市", "深圳市", "珠海市", "汕头市", "佛山市", "韶关市", "湛江市", "江门市", "茂名市", "惠州市", "梅州市", "汕尾市", "河源市", "阳江市", "清远市", "东莞市", "中山市", "潮州市", "揭阳市", "云浮市"],
"广西省": ["南宁市", "柳州市", "桂林市", "梧州市", "北海市", "防城港市", "钦州市", "贵港市", "玉林市", "百色市", "贺州市", "河池市", "来宾市", "崇左市"],
"海南省": ["海口市", "三亚市", "三沙市", "儋州市", "五指山市", "文昌市", "琼海市", "万宁市", "东方市", "定安县", "屯昌县", "澄迈县", "临高县", "琼中立足苗族自治县", "保亭黎族苗族自治县", "白沙黎族自治县", "昌江黎族自治县", "乐东黎族自治县", "陵水黎族自治县"],
"香港": ["中西区", "东区", "九龙城区", "观塘区", "南区", "深水埗区", "黄大仙区", "湾仔区", "油尖旺区", "离岛区", "葵青区", "北区", "西贡区", "沙田区", "屯门区", "大浦区", "荃湾区", "元朗区"],
"澳门": ["花地玛堂区", "圣安多尼堂区", "大堂区", "望德堂区", "风顺堂区", "嘉模堂区", "圣方济各堂区", "路氹城"],
"重庆市": ["重庆市", "重庆市", "涪陵区", "渝中区", "大渡口区", "沙坪坝区", "江北区", "九龙坡区", "南岸区", "北碚区", "渝北区", "巴南区", "长寿区", "江津区", "合川区", "永川区", "南川区", "綦江区", "大足区", "铜梁区", "璧山区", "潼南县", "荣昌县", "梁平县", "城口县", "丰都县", "垫江县", "武隆县", "忠县", "开县", "云阳县", "奉节县", "巫山县", "巫溪县", "石柱土家族自治县", "秀山土家族苗族自治县", "酉阳土家族苗族自治县", "彭水苗族土家族自治县"],
"四川省": ["成都市", "绵阳市", "自贡市", "攀枝花市", "泸州市", "德阳市", "广元市", "遂宁市", "内江市", "乐山市", "资阳市", "宜宾市", "南充市", "达州市", "雅安市", "阿坝藏族羌族自治州", "甘孜藏族自治州", "凉山彝族自治州", "广安市", "巴中市", "眉山市"],
"云南省": ["昆明市", "曲靖市", "玉溪市", "保山市", "邵通市", "丽江市", "普洱市", "临沧市", "德宏傣族景颇族自治州", "怒江僳僳族自治州", "迪庆藏族自治州", "大理白族自治州", "楚雄彝族自治州", "红河哈尼族彝族自治州", "文山壮族苗族自治州"],
"西藏省": ["拉萨市", "日喀则市", "昌都地区", "林芝地区", "山南地区", "那曲地区", "阿里地区"],
"贵州省": ["贵阳市", "六盘水市", "遵义市", "铜仁市", "黔西南布依族苗族自治州", "毕节市", "黔东南苗族侗族自治州", "安顺市", "黔南布依族苗族自治州"],
"陕西省": ["西安市", "宝鸡市", "咸阳市", "渭南市", "铜川市", "延安市", "榆林市", "安康市", "汉中市", "商洛市", "杨凌示范区"],
"甘肃省": ["兰州市", "酒泉市", "金昌市", "天水市", "嘉峪关市", "武威市", "张掖市", "白银市", "平凉市", "庆阳市", "定西市", "陇南市", "临夏回族自治州", "甘南藏族自治州"],
"青海省": ["西宁市", "海东市", "黄南藏族自治州", "海北藏族自治州", "海南藏族自治州", "果洛藏族自治州", "玉树藏族自治州", "海西蒙古族藏族自治州"],
"宁夏省": ["银川市", "石嘴山市", "吴忠市", "固原市", "中卫市"],
"新疆省": ["乌鲁木齐市", "克拉玛依市", "吐鲁番地区", "哈密地区", "昌吉回族自治州", "博尔塔拉蒙古自治州", "巴音郭楞蒙古自治州", "阿克苏地区", "克孜勒苏柯尔克孜自治州", "喀什地区", "和田地区", "伊犁哈萨克自治州", "石河子市", "阿拉尔市", "图木舒克市", "五家渠市", "北屯市", "双河市"]
};
</script>
</head>
<body>
省:
<select id="province"></select>
市:
<select id="city"></select>
<script>
//获取省的下拉框
var province = document.getElementById('province');
//获取市的下拉框
var city = document.getElementById('city');
//使用for..in遍历json对象,循环中的遍历就是对象的属性名
for(var pro in data) {
//创建option元素
var opt = document.createElement("option");
//设置内容
opt.innerHTML = pro;
//设置value
opt.value = pro;
//把option添加到省的下拉框
province.appendChild(opt);
}
//给左边下拉框添加改变事件
province.onchange = function() {
//获取选中的省 --选中的option的value
var prov = this.value;
//获取城市的数组
var cityArr = data[prov];
//清空市的下拉框
city.innerHTML = "";
for(var i in cityArr) {
//获取当前的城市
var c = cityArr[i];
//创建option元素
var opt = document.createElement("option");
//设置内容
opt.innerHTML = c;
//设置value
opt.value = c;
//把option添加到市的下拉框
city.appendChild(opt);
}
}
//手动触发一次onchage事件,把事件当成函数来调用
province.onchange();
</script>
</body>
</html>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1b899f987a3ff07f65fa68f6c4a20f05.png)
验证码倒计时案列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
button {
width: 115px;
height: 23px;
font-size: 12px;
}
input {
height: 22px;
}
</style>
<script>
</script>
</head>
<body>
<input type="text">
<button id="btn">发送验证码</button>
<script>
//获取按钮
var btn=document.getElementById('btn');
//保存定时器函数的标识
var timeId;
//给按钮添加单击事件
btn.onclick=function(){
//1.禁用按钮
btn.disabled=true;
//初始化按钮
btn.innerHTML="5s后重新获取";
//2.改变按钮上的内容
timeId= setInterval(changeBtn,1000);
}
;
//自定义的函数,每隔1s就改变按钮上的文字
var i=5;
function changeBtn(){
i--;
// /按钮的文字
btn.innerHTML=i+"s后重新获取";
//判断如果i为0,就显示"发送验证码"
if(i==0){
//解禁按钮
btn.disabled=false;
btn.innerHTML="发送验证码";
//清除定时器
clearInterval(timeId);
//console.log("aaaa");
i=5;
}
}
</script>
</body>
</html>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/66b612eea806dd05600f4fe2be3b651d.png)