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操作 看 ...
随机推荐
- js语法基础入门(5.1)
5.流程控制 5.1.选择结构 程序流程图 图例: 椭圆: 开始/结束 矩形: 操作 菱形: 判断 连接线: 走向 可以根据程序流程图,理清楚程序执行的流程 5.2.1.if语句 //if语句语法结构 ...
- 在MFC下绘制直线,使用橡皮筋技术,可以使直线效果跟随鼠标移
void CGraphic1View::OnMouseMove(UINT nFlags, CPoint point) { if(MK_LBUTTON == nFlags) { ...
- 09 . Prometheus监控tomcat+jvm
List CentOS7.3 prometheus-2.2.1.linux-amd64.tar.gz redis_exporter-v0.30.0.linux-amd64.tar.gz 节点名 IP ...
- flask的小错误
这几天刚学flask,根据录屏学代码的时候,遇到一个问题 基本能看懂错误,role_id是类的一个字段,应该是一个对象,最后发现是单词写错了,应该是大写的Column, db.Column(db.In ...
- Python 简明教程 --- 21,Python 继承与多态
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 程序不是年轻的专利,但是,它属于年轻. 目录 我们已经知道封装,继承和多态 是面向对象的三大特征,面 ...
- 干!垃圾微软!发布我的Netcore跨平台UI框架 CPF
什么鬼,我的CPF快写好了,你居然也要搞跨平台UI框架?什么Maui? 之前怎么不早说要搞跨平台UI框架呢?看到谷歌搞flutter眼红了?明年年底发布?又搞这种追别人屁股的烂事情. 什么MVU模式? ...
- 状压DP之学校食堂
题目 传送们 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负 ...
- Spring 5.2.x 源码环境搭建(Windows 系统环境下)
前期准备 1.确保本机已经安装好了 Git 2.Jdk 版本至少为 1.8 3.安装好 IntelliJ IDEA (其他开发工具,如 eclipse.Spring Tool Suite 等也是可以的 ...
- Jmeter(十六) - 从入门到精通 - JMeter前置处理器(详解教程)
1.简介 前置处理器是在发出“取样器请求”之前执行一些操作.如果将前置处理器附加到取样器元件,则它将在该取样器元件运行之前执行.前置处理器最常用于在取样器请求运行前修改其设置,或更新未从响应文本中提取 ...
- EOS基础全家桶(十五)智能合约进阶2
简介 今天我们继续补充智能合约的进阶使用技巧,这次的主题是交易,合约内我们除了可以发起内联action的调用,很多使用还需要直接调用其他的合约action或者以交易的形式调用自身的action. 发起 ...