JS实现网页效果

article/2025/10/11 2:37:49
function $(id){return document.getElementById(id);
}
function $name(name){return document.getElementsByName(name);
}

树形菜单

在这里插入图片描述

onclick事件改变display属性来控制子树的显示==开关效果function treeShow(id){//console.log("事件添加成功");if(document.getElementById(id).style.display=='block'){document.getElementById(id).style.display="none";}else{document.getElementById(id).style.display="block";}//为什么点击一次之后打开不了???????//a中一定要加内容    否则点击后实际是跳转到一个新页面  然后将刷新//<a href="javascript:clickShow('idname')"></a>
}

横向菜单栏

在这里插入图片描述

  • 不传id
onmouseover事件添加show函数
onmouseout事件添加noshow函数
通过改变display属性来控制显示function menuShow(){var event = event||window.event;var dd = event.srcElement;//具体寻找id的方法是灵活的var id = findId(dd);//寻找idif(id!=null){document.getElementById(id).style.display="inline";}return id;
}function noshow(){var id = show();document.getElementById(id).style.display="none";
}	也可以直接在标签上添加事件,将标签的id传进来更方便
  • 传id
function menuShow(id){$(id).style.display="block";
}function noshow(){$(id).style.display="none";
}	

轮转的图片

setInterval是关键var nowIndex = 1;//显示的第一张图片
var maxIndex = 4;//需要显示的图片window.onload = show;
function picShow(){//根据index改变img的displayif(nowIndex==(maxIndex+1)){nowIndex=1;}var i = nowIndex-1;if(i==0){i=maxIndex-1;}//上一张图片关闭,同时显示下一张  每张图片的id命名为id1 id2...$("adv"+i).style.display="none";$("adv"+nowIndex).style.display="block";nowIndex++;//显示下一张图片
}setInterval("show()",1000);

全选 全不选

window.onload = function(){var quan = $("quan");var dans = $name("dan");//页面一加载就给全选按钮加事件quan.onchange = function(){//保持全选改变单选和全选状态一样for(var i=0;i<dans.length;i++){dans[i].checked = this.checked;//this==quan}}//给单选添加事件for(var i=0;i<dans.length;i++){dans[i].onchange = option;}
}function option(){var quan = $("quan");var dans = $name("dan");//var event = event||window.event;//直接使用this//当前按钮取消,全选按钮也取消if(this.checked==false){quan.checked=false;return ;}//当前按钮选择,查看所有按钮是不是都选择,未全选则全选按钮不全选for(var i=0;i<dans.length;i++){if(dans[i].checked==false){quan.checked=false;return;}}//单选全选了quan.checked=true;
}

漂浮的层——小广告

//每次移动的距离
var dx = 10;
var dy = 10;
//图片现在的位置
var nowX;
var nowY;
//图片的大小
var picW;
var picH;window.onload = function(){nowX = $("imgId").style.left;nowY = $("imgId").style.top;
}function movePic(){picW = $("imgId").width;picH = $("imgId").height;if((nowX+dx>(screen.width-picW)) || (nowX+dx<0)){dx=-dx;//正负表示新窗口的移动方向}if((nowY+dy>(screen.height-picH)) || (nowY+dy<0)){dy=-dy;}nowX = eval(nowX+"+"+dx);nowY = eval(nowY+"+"+dy);$("imgId").style.left=nowX+"px";$("imgId").style.top=nowY+"px";
}
setInterval("movePic()",100);

随滚动条上下滚动的层

在这里插入图片描述

var picW;//图片的宽度
var picT;//图片到顶端距离
var picR;//图片到右端距离--此时图片显示在右端//页面加载就获取右边广告的信息
window.onload = function(){picW = $("imgId").width;//获取图片的宽度(图片铺盖整个层)//浏览器兼容if($("id").currentStyle){//ie浏览器picT = parseInt($("imgId").currentStyle.top);//图片离顶端的距离picR = parseInt($("imgId").currentStyle.right);//图片右顶端的距离}else{picT = parseInt(document.defaultView.getComputedStyle($("imgId"),null).top);//图片离顶端的距离picR = parseInt(document.defaultView.getComputedStyle($("imgId"),null).right);}
}window.onscroll = scrollGuang;//滚动时改变右侧广告的位置
function scrollGuang(){var scrollT;//滚动条滚动var scrollR;if(self.pageYOffset){scrollT = self.pageYOffset;scrollR = self.pageXOffset;} else if(document.documentElement && document.documentElement.scrollTop){scrollT = document.documentElement.scrollTop;scrollR = document.documentElement.scrollRight;} else if(document.body) { // all other ExplorersscrollT = document.body.scrollTop;scrollR = document.body.scrollRight;}$("imgId").style.top = (picT+scrollT) +"px";$//("imgId").style.left = parseInt(document.documentElement.scrollLeft)+parseInt(document.documentElement.clientWidth)-picR-picW+"px";
}

可关闭的层

function close(){$("id").style.display="none";
}

无缝跑马灯,鼠标移入就停下

登录验证(邮箱+密码)

function checkLogin(){var email = $("email").value;var pwd = $("pwd").value;var emailReg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*$/;if(!emailReg.test(email)){alert("输入Email地址有误,请确认后重新输入");return false;}var pwdReg=/^\w{8,16}$/;if(!pwdReg.test(pwd)){alert("密码为数字字母下划线组成,长度为8-16位");return false;}return true;
}

注册

//将键值形式的对象保存在数组
var regArray = [{'reg':/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ , 'str':'电子邮箱格式不对,请重新输入'},{'reg':/^[a-zA-Z0-9]{4,20}$/ , 'str':'昵称格式不对,请用大小写英文字母、数字,长度4-20个字符'},{'reg':/^[a-zA-Z0-9]{6,20}$/ , 'str':'密码格式不对,请用大小写英文字母、数字,长度6-20个字符'},];
/** 失去焦点 验证* id1验证框* id2显示提示信息* type参数表示需要验证什么*/
function inputblur(id1,id2,type){id1 = $(id1);id2 = $(id2);id2.innerHTML = "";//清空提示信息var reg = regArray[type].reg;//获取要验证的正则表达式if(!reg.test(id1.value)){id2.innerHTML = regArray[type].str;//设置提示信息id2.className = "id2_no";//验证错误,改变提示样式id1.className = "id1_no";//改变id1的样式return false;}id2.className = "id2_ok";//改变id2的样式id1.className = "id1_ok";//改变id1的样式return true;
}
/** 确认密码验证*/
function repwdBlur(){var pwd = $("pwd");var repwd = $("repwd");var repwdTishi = $("repwdTishi");repwdId.innerHTML = "";if(pwd.value != repwd.value){repwdTishi.innerHTML = "两次输入的密码不一致,请重新输入";repwdTishi.className = "repwdTishi_no";repwd.className = "repwd_no";return false;}repwdTishi.className = "repwdTishi_ok";repwd.className = "repwd_ok";return true;
}
/** 注册按钮 -- 全部检查一遍*/
function checkRegister(){var flagEmail = inputblur('email','email_prompt',0);var flagNickName = inputblur('nickName','nickName_prompt',1);var flagPwd = inputblur('pwd','pwd_prompt',2);var flagRepwd = repwdBlur();if(flagEmail==true && flagNickName==true && flagPwd==true && flagRepwd==true){return true;}else{return false;}
}

省市级联

/*所在地的省、城市、地区级联选择*/
var cityList = new Array();
cityList['北京市'] = ['朝阳区', '东城区', '西城区', '海淀区', '宣武区', '丰台区', '怀柔', '延庆', '房山'];
cityList['上海市'] = ['宝山区', '长宁区', '丰贤区', '虹口区', '黄浦区', '青浦区', '南汇区', '徐汇区', '卢湾区'];
cityList['广州省'] = ['广州市', '惠州市', '汕头市', '珠海市', '佛山市', '中山市', '东莞市'];
cityList['深圳市'] = ['福田区', '罗湖区', '盐田区', '宝安区', '龙岗区', '南山区', '深圳周边'];
cityList['重庆市'] = ['俞中区', '南岸区', '江北区', '沙坪坝区', '九龙坡区', '渝北区', '大渡口区', '北碚区'];
cityList['天津市'] = ['和平区', '河西区', '南开区', '河北区', '河东区', '红桥区', '塘古区', '开发区'];
cityList['江苏省'] = ['南京市', '苏州市', '无锡市'];
cityList['浙江省'] = ['杭州市', '宁波市', '温州市'];
cityList['四川省'] = ['四川省', '成都市'];
cityList['海南省'] = ['海口市'];
cityList['福建省'] = ['福州市', '厦门市', '泉州市', '漳州市'];
cityList['山东省'] = ['济南市', '青岛市', '烟台市'];
cityList['江西省'] = ['江西省', '南昌市'];
cityList['广西省'] = ['柳州市', '南宁市'];
cityList['安徽省'] = ['安徽省', '合肥市'];
cityList['河北省'] = ['邯郸市', '石家庄市'];
cityList['河南省'] = ['郑州市', '洛阳市'];
cityList['湖北省'] = ['武汉市', '宜昌市'];
cityList['湖南省'] = ['湖南省', '长沙市'];
cityList['陕西省'] = ['陕西省', '西安市'];
cityList['山西省'] = ['山西省', '太原市'];
cityList['黑龙江省'] = ['黑龙江省', '哈尔滨市'];
cityList['其他'] = ['其他'];function changeCity(){//省改变onChange="changeCity()"var province = $("province").value;var city = $("city");city.options.length = 0;//清除当前城市for(var i in cityList){//i是下标==省名if(i==province){for(var j in cityList[i]){//j就是城市名try{city.add(new Option(cityList[i][j],cityList[i][j]),null);//标准方式}catch(e){city.add(new Option(cityList[i][j],cityList[i][j]));//IE}}}}
}window.onload = allProvince;function allProvince(){var province = $("province");for(var i in cityList){try{province.add(new Option(i,i),null);//标准方式}catch(e){province.add(new Option(i,i));//IE}}
}

http://chatgpt.dhexx.cn/article/1uFfvAyZ.shtml

相关文章

JavaScript—— 常见网页特效

目录 一、常见网页特效1. 案例&#xff1a;网页轮播图1.1 案例分析1.1.1 左右按钮的显示与隐藏1.1.2 动态生成小圆圈1.1.3 小圆圈的排他思想1.1.4 点击小圆圈滚动图片1.1.5 点击右侧按钮一次&#xff0c;就让图片滚动一张1.1.6 克隆第一张图片1.1.7 点击右侧按钮&#xff0c;小…

php几种常用的加密解密算法

本文给大家介绍php的三种常用的加密解密算法&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你们有所帮助。 php 自带的加密函数&#xff1a; 不可逆的加密函数为&#xff1a;md5()、sha1()、crypt() md5() 用来计算 MD5 哈稀 md5(stri…

加解密算法概述

文章目录 加解密算法概述前言概述加解密算法国密算法 应用总体对称加解密非对称加解密 实现 加解密算法概述 前言 密码由来已久&#xff0c;相传公元前405年&#xff0c;雅典和斯巴达之间的伯罗奔尼撒战争最早出现密码&#xff0c;通过杂乱无章的字母拼接成一段话就是要传递的…

AES加密解密算法设计(C++)

目 录 1&#xff0e; 背景与意义 4 2. 系统设计 5 2.1系统主要目标 5 2.2主要软件需求&#xff08;运行环境&#xff09; 5 2.3功能模块与系统结构 6 3 系统功能程序设计 8 3.1基本要求部分 8 3.1.1 字节替换 8 3.1.2行移位 9 3.1.3列混合 11 3.1.4密钥加 13 3.1.5密钥扩展 14 …

加解密算法

总结 推荐使用的算法&#xff1a; 对称加密算法&#xff1a;AES-GCM-256&#xff0c;SM1 (硬件国密), SM4 (国密)非对称加密算法&#xff1a;RSA2048&#xff0c;SM2 (国密)信息摘要算法&#xff1a;SHA256&#xff0c;SM3 (国密散列算法) 对称加密算法/AES-GCM-256: GCMGM…

加密解密及算法详解

1、简介 今天我要给大家分享的是互联网通信中用到的各种加密解密算法&#xff0c;在我们介绍加解密知识前&#xff0c;首先我们了解一下密码学、密码、加密、数字签名、密钥交换等相关术语的含义。 1.1 密码学 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规…

常见的加密解密算法

文章目录 一、概述二、区别 一、概述 加密分为单向加密和双向加密&#xff1a; 单向加密 又称为不可逆加密&#xff0c;即生成密文无法反解的一种加密方式&#xff1b;eg:MD5和SHA系列、HMAC。 双向加密 又称为可逆加密&#xff0c;即生成密文后&#xff0c;在需要的时候可以反…

RSA 加密解密算法实现(简单,易懂)!!!

目录 一、什么是RSA算法 1.对称加密 2.非对称加密 3.非对称加密的应用 二、RSA算法的基础操作步骤 1.生成公钥和私钥 2.用公钥加密信息 3.用私钥解密信息 三、AC代码 六、RSA算法的测试 七、共勉 一、什么是RSA算法 在计算机中常用的加密算法分为两类&#xff1a;对称…

13种加密与解密算法【一】

这15种加密解密算法分别是&#xff1a;散列哈希[MD5、SHA1、CRC32]&#xff0c;对称[DES&#xff0c;3DES&#xff08;TDEA、Triple DES&#xff09;&#xff0c;AES、&#xff0c;Blowfish&#xff0c;RC4、RC5&#xff0c;IDEA]&#xff0c;Base64、Rabbit、Escape。【三种分…

【2021最新版】Linux面试题总结(48道题含答案解析)

文章目录 1、绝对路径用什么符号表示&#xff1f;当前目录、上层目录用什么表示&#xff1f;主目录用什么表示? 切换目录用什么命令&#xff1f;2、怎么查看当前进程&#xff1f;怎么执行退出&#xff1f;怎么查看当前路径&#xff1f;3、怎么清屏&#xff1f;怎么退出当前命令…

linux操作系统期末考试题库

别光看点个赞呗 文档完整下载链接&#xff1a; w​​​​​​​w​​​​​​​https://download.csdn.net/download/weixin_59241300/87299684 1. cal命令 2.cat命令 3.cd命令 4.date命令 5.echo命令 6.grep命令 7.head 命令 8.ls 命令 9.touch 命令 10.more命令 …

Linux上机考试试题

Linux基础机考测试题 1、如果忘记登录密码&#xff0c;如何破解超级用户root的密码&#xff0c;并将密码改为redhat。&#xff08;操作过程抓图体现&#xff09; 开机在出现grub画面&#xff0c;按e键 用上下键选中第二项(类似于kernel /boot/vmlinuz-2.4.18-14 ro rootLABEL…

linux考试题库

&#xff08;Linux&#xff09;是一个自由、免费、开放的系统软件&#xff0c;支持多种硬件平台&#xff0c;多用户、多任务特点。 Linux操作系统是&#xff08;Linus Torvalds&#xff09;第一个开发的。 下列中&#xff08;单用户&#xff09;不是Linux的特点。 Linux一般…

Linux期末考试题库(超全)

文章目录 Linux期末考试题库选择题填空题简答题操作题 Linux期末考试题库 选择题 在创建Linux分区时&#xff0c;一定要创建&#xff08; D &#xff09;两个分区 A. FAT/NTFS  B. FAT/SWAP  C. NTFS/SWAP  D.SWAP/根分区 在Red Hat Linux 9 中&#xff0c;系统默…

虚拟机镜像文件高速下载方法之一

虚拟机镜像文件高速下载方法之一&#xff08;外加镜像文件合集打包&#xff09; 1.打开网址网易开源镜像站 2.打开对应文件夹&#xff08;比如下载kali镜像文件&#xff09; &#xff08;1&#xff09;点击 kali-images/ &#xff08;2&#xff09;点击自己需要的版本(此处我…

添加虚拟机镜像centso 8的步骤

此篇文章仅介绍添加虚拟机镜像的步骤&#xff0c;特别说明这里以centso 8为例 如有需要安装VMware虚拟机&#xff0c;可以通过以下链接跳转至对应文章 VMware虚拟机安装配置及虚拟机网络模式说明https://blog.csdn.net/weixin_55883492/article/details/123790174?spm1001.2…

vmware 虚拟机恢复ghost镜像文件

一、下载winPE.iso、软碟通 链接&#xff1a;https://pan.baidu.com/s/1Ty2td8_9-3Dr7Qc5XHhyNw 提取码&#xff1a;wtuk 二、恢复&#xff1a; 1、配置基础Vmware系统模板&#xff0c;如何配置可百度搜索 注意&#xff1a;内存必须为2G以上,否则无法使用PE 2、CD/DVD — …

macOS Monterey 12.3 (21E230) 虚拟机 IOS 镜像

macOS Monterey 12.3&#xff08;内部版本号 21E230&#xff09;&#xff0c;这是一个重大更新&#xff0c;引入了通用控制&#xff0c;这项功能可以支持一个键盘或者鼠标同时控制多台 Mac 电脑或者 iPad。另外根据用户反馈&#xff0c;此次更新也对 AMD 6000 系显卡进行了优化…

虚拟机的镜像安装

虚拟机镜像的安装 (1)下载好虚拟机iso镜像安装包 (2)命令virt-manager 打开虚拟机管理器 点击左上角创建新虚拟机按钮 (3)选择"Local install media"这个选项 --> Forward (4)点击Browse…按钮 (5)Browse Local–>找到rhel-server-7.3-x86_64-dvd.iso 镜像…

KVM详解(五)——KVM虚拟机镜像格式

今天继续给大家介绍Linux运维相关知识&#xff0c;本文主要内容是KVM虚拟机镜像格式。 一、虚拟机常用镜像格式介绍 目前&#xff0c;虚拟机的主流镜像格式有raw、cow、qcow、qcow2以及vmdk&#xff0c;下面&#xff0c;我就详细介绍一下这些主流的虚拟机镜像格式。 &#x…