Dom运用2
1、登录系统
<!--输入框创建-->
账号:<input class="ipt" type="text"><br>
密码:<input class="ipt" type="password"><br>
验证码:<input id="yz_id" type="text">
<!--验证码创建-->
<div id="yzm">加载中。。请稍候</div>
<!--验证码刷新-->
<button onClick="huan()">看不清,换一张</button>
<!--验证码验证-->
<button onClick="yz()">提交</button><br>
<!--登录-->
<button onClick="denglu()">登录</button>
//全局变量
var n = 0;
//页面加载完成
window.onload=function(){
YZMpaixu();
huan();
}
//随机验证码生成
function YZMpaixu(n=6){
var str = "123456789";
var sjs = "";
for(var i =0;i<n;++i){
sjs += str.substr(Math.random()*str.length,1);
}
document.getElementById('yzm').innerHTML= sjs;
}
//验证码刷新
function huan(){
YZMpaixu(n=6)
}
//验证登陆
function denglu(){
var ipt=document.getElementsByClassName("ipt");
var uid = ipt[0];
var pwd = ipt[1];
var uidval = uid.value;
var pwdval = pwd.value;
if(uidval == "" || pwdval == ""){
alert("账号或密码不能为空!");
return;
}
if(uidval == "admin"){
alert("登录成功!");
}
}
//验证验证码
function yz(){
var YZID=document.getElementById("yz_id");
var yzidval = YZID.value;
if(yzidval == ""){
alert("验证码不能为空!");
return;
}
else if(yzidval == sjs){
alert("正确")
}
else{
alert("输入错误")
}
}
2、36选7 不重复
function buchong(){
var num = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36];
var jiguo = [];//数组定义
var nn = 0;
for(var i =0;i<7;++i){
// 抽取数字
var n = parseInt(Math.random()*num.length);
// 返回抽取数在jieguo数组的首次出现位置,没有返回-1
if(jiguo.indexOf(num[n]) < 0 ){
// 追加数字
jiguo.push(num[n]);
}else{
i--;
}
nn++;
}
console.log(nn);
console.log(jiguo);
}
注;indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
如果没有找到字符串,则返回-1.
3、多选框
<!--多选框-->
<input class="input" type="checkbox">
<input class="input" type="checkbox">
<input class="input" type="checkbox">
<input class="input" type="checkbox">
<input class="input" type="checkbox">
<input class="input" type="checkbox">
<input class="input" type="checkbox"><br>
<button onClick="quanxuan()" id="button1">全选</button>
<button onClick="fanxuan()">反选</button>
<button onClick="buxuan()">不选</button><br><br><br>
//全选
var ipt = document.getElementsByClassName("input");
function quanxuan(){
for(var i = 0;i<ipt.length;i++){
ipt[i].checked=true;
}
}
//反选
function fanxuan(){
for(var i = 0;i<ipt.length;i++){
if(ipt[i].checked==true){
ipt[i].checked=false;
}
else{
ipt[i].checked=true;
}
}
}
//不选
function buxuan(){
for(var i = 0;i<ipt.length;i++){
ipt[i].checked=false;
}
}
效果




4、轮播图
<div onMouseOver="stop()" onMouseOut="start()"style="margin: 0 auto;width: 100%;height: 300px;position: absolute;";>
<!-- 图片导入-->
<img id="add" src="1.jpg" alt="" width="80%" height="300px">
<!-- 操作按钮 -->
<button onClick="xia()">上一页</button>
<button onClick="zhong(0)">1</button>
<button onClick="zhong(1)">2</button>
<button onClick="zhong(2)">3</button>
<button onClick="zhong(3)">4</button>
<button onClick="shang()">下一页</button>
</div>
//全局变量
var IntervalObj = null;//计时器对象
var n = 0;//下表定义
var imgPath = ['1.jpg','8.jpg','12.jpg','9.jpg'];
var add = null;//图片定义
//页面加载轮播
window.onload = function(){
add = document.getElementById("add");
// 计时器
IntervalObj = setInterval(function(){
add.src = imgPath[n];
n++;
if(n >= imgPath.length){
n = 0;
}
},1000);
}
//鼠标移上停止
function stop(){
clearInterval(IntervalObj);
}
//移走开始
function start(){
IntervalObj = setInterval(function(){
add.src = imgPath[n];
n++;
if(n >= imgPath.length){
n = 0;
}
},1000);
}
//上一页
function shang(){
n++;
if(n >= imgPath.length){
n = 0;
}
add.src = imgPath[n];
}
//下一页
function xia(){
n--;
if(n <=-1){
n = imgPath.length-1;
}
add.src = imgPath[n];
}
//点击换页
function zhong(nn){
add.src = imgPath[nn];
n = nn;
}
Dom运用2的更多相关文章
- 关于DOM的操作以及性能优化问题-重绘重排
写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...
- 读书笔记:JavaScript DOM 编程艺术(第二版)
读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...
- 页面嵌入dom与被嵌入iframe的攻防
1.情景一:自己的页面被引入(嵌入)至别人的页面iframe中 if(window.self != window.top){ //url是自己页面的url window.top.location.hr ...
- 通俗易懂的来讲讲DOM
DOM是所有前端开发每天打交道的东西,但是随着jQuery等库的出现,大大简化了DOM操作,导致大家慢慢的“遗忘”了它的本来面貌.不过,要想深入学习前端知识,对DOM的了解是不可或缺的,所以本文力图系 ...
- HTML DOM 介绍
本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...
- HTML DOM 对象
本篇主要介绍HTML DOM 对象:Document.Element.Attr.Event等4个对象. 目录 1. Document 对象:表示文档树的根节点,大部分属性和方法都是对元素进行操作. 2 ...
- 重撸js_2_基础dom操作
1.node 方法 返回 含义 nodeName String 获取节点名称 nodeType Number 获取节点类型 nodeValue String 节点的值(注意:文本也是节点) 2.inn ...
- 虚拟dom与diff算法 分析
好文集合: 深入浅出React(四):虚拟DOM Diff算法解析 全面理解虚拟DOM,实现虚拟DOM
- 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?
引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...
- jQuery学习之路(2)-DOM操作
▓▓▓▓▓▓ 大致介绍 jQuery作为JavaScript库,继承并发扬了JavaScript对DOM对象操作的特性,使开发人员能方便的操作DOM对象. ▓▓▓▓▓▓ jQuery中的DOM操作 看 ...
随机推荐
- 【部分】ASP.NET MVC的Controller接收输入详解
原文:https://blog.csdn.net/lxrj2008/article/details/79455360 ASP.NET mvc的Controller要正确的响应用户发出的请求就要获取到用 ...
- 哈希传递攻击利用(Pass The Hash)
最近又复习了一下内网的相关知识,把以前的整理了一下发出来做个记录. 0x01 哈希传递攻击概念 有一点内网渗透经验的都应该听说过哈希传递攻击,通过找到相应账户相关的密码散列值(LM Hash,NTLM ...
- 单调队列练习题解(切蛋糕&好消息,坏消息)
单调队列的练习题解 前言: 在上一篇学习记录中,单调队列给出了几道练习题,因为这两道题的算法以及思路相差无几(几乎可以算是双倍经验quq),所以就在这里集中写一下相关的题解 前置知识: 见:队列专题( ...
- Meta标签大全_web开发常用meta整理
meta标签提供关于HTML文档的元数据.元数据不会显示在页面上,但是对于机器是可读的.它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务. 必要属性 属性 值 描 ...
- CSS五种方式实现 Footer 置底
页脚置底(Sticky footer)就是让网页的footer部分始终在浏览器窗口的底部.当网页内容足够长以至超出浏览器可视高度时,页脚会随着内容被推到网页底部:但如果网页内容不够长,置底的页脚就会保 ...
- 大致掌握django的功能
目录 静态文件配置 request对象方法初识 pycharm链接数据库(mysql) django链接数据库(mysql) django orm 字段的增删查改 数据的增删查改 数据的查,改,删 d ...
- Jenkins 自动化(CI/DI)部署
1. 背景介绍 在实际开发中,经常要一边开发一边测试,经常为了一个功能而不断更新版本,这些情况都会涉及到频繁的打包.部署:手动打包的涉及到项目上传.打包.发布等很多重复工作: 那么,有一种工具能够实现 ...
- .Net Core微服务入门全纪录(八)——Docker Compose与容器网络
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 前言 上一篇[.Net Core微服务入门全纪录(七)--IdentityServer4-授权认证]中使用IdentityServer4 ...
- 《Object Storage on CRAQ: High-throughput chain replication for read-mostly workloads》论文总结
CRAQ 论文总结 说明:本文为论文 <Object Storage on CRAQ: High-throughput chain replication for read-mostly wor ...
- java 面向对象(二十二):关键字:final
final:最终的1.可以用来修饰:类.方法.变量 2.具体的: 2.1 final 用来修饰一个类:此类不能被其他类所继承. * 比如:String类.System类.StringBuffer类 * ...