Web前端——JavaScript扩展补充
JS补充
document也是windows的一个子对象
a标签点击事件
要想设置点击a标签,执行某种方法,推荐在a标签的herf属性使用JavaScript伪协议,实现点击之后执行的js方法,而不是设置click
例如:
alertwin()是一个方法
<a href="javascript:alertwin()">hello</a>
windows对象对话框
windows自带的几个弹出对话框方法
- 可输入内容的对话框 alert(message)
- 只含确定按钮的对话框 prompt(message) 返回输入string
- 含确定和取消的对话框 confirm(message) 返回一个Boolean
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>对话框</title>
<script type="text/javascript">
function alertwin() {
alert('信息');
}
function promptWin() {
//prompt()弹出一个输入对话框
//如果输入,prompt()方法就会返回用户输入信息
var inputMsg = prompt('请输入名字');
console.log(inputMsg);
}
function confirmMsg(){
//confirm()返回一个boolean
var flag = confirm("确定删除?");
console.log(flag);
}
</script>
</head>
<body>
<button type="button" onclick="alertwin()">对话框</button>
<button type="button" onclick="promptWin()">输入对话框</button>
<button type="button" onclick="confirmMsg()">确认对话框</button>
<br /><br />
</body>
</html>
location对象
- location.href = ''; 会使浏览器留下历史记录
- location.replace(); 浏览器不会留下历史记录
- location.reload(); 刷新效果
编码和解码URI
function encode_decode() {
var uri = '19_encodeURI_decodeURI.html?name1=老王&name2=如花&key=jack marry john';
//编码
var encodeURI1 = encodeURI(uri);
//结果为name1=%E8%80%81%E7%8E%8B&name2=%E5%A6%82%E8%8A%B1&key=jack%20marry%20john
console.log(encodeURI1);
//解码
var decodeURI1 = decodeURI(encodeURI1);
console.log(encodeURI1);
}
Json工具类
- stringify json数据转为string
- parse 把string类型的json数据转为一个object
let json = {empno: 1000, ename: "scott", job: "CLERK"};
var stringify = JSON.stringify(json);
var otherJson = JSON.parse(stringify);
//通过"."来获取内容
console.log(otherJson.empno, otherJson.ename, otherJson.job);
模拟进度条
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>模拟进度条</title>
<style>
.processbar{
overflow: hidden;/*超出的自动隐藏*/
width: 800px;
height: 20px;
border: 1px solid skyblue;
border-radius: 5px;
}
.block{
float: left;/*从左到右排列*/
height: 20px;
width: 0px;
background-color: skyblue;
}
</style>
<script>
var length=0;//进度条的长度
function startDownload(){
const processbar =document.querySelector(".processbar");
let width = Math.random()*30;//随机获取宽度
//创建一个div元素
let block = document.createElement("div");
length += width;
//当前的进度长度是否大于800
if(length>800){
//获取最后剩余的宽度
width =800-(length-width);
block.classList="block";
block.style.width = width+"px";
processbar.appendChild(block);
return;//停止
}else{
block.style.width = width+"px";
block.classList="block";//设置类样式为block
processbar.appendChild(block);//添加元素
setTimeout(startDownload,100);//每400毫秒执行一次startDownload方法
}
}
</script>
</head>
<body>
<button type="button" onclick="startDownload()">开始下载</button>
<br /><br />
<div class="processbar">
</div>
</body>
</html>
Web前端——JavaScript扩展补充的更多相关文章
- Web前端-JavaScript基础教程上
Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...
- Web前端-JavaScript基础教程下
Web前端-JavaScript基础教程下 <script>有6个属性: async对外部脚本有效,可以用来异步操作,下载东西,不妨碍其他操作. charset为src属性指定字符集. d ...
- Python之Web前端jQuery扩展
Python之Web前端: 一. jQuery表单验证 二. jQuery扩展 三. 滚动菜单 一. jQuery表单验证: 任何可以交互的站点都有输入表单,只要有可能,就应该对用户输入的数据进行验证 ...
- web前端+javascript+h5电子书籍和实战分享
有很多前端伙伴们学习前端很多了,但是如何能成为优秀的程序员呢,前端必学的知识点相信学习前端的伙伴们心里都非常清楚.主要的三要素包括HTML.CSS和JavaScript.那么学好JavaScript是 ...
- web前端----jQuery扩展(很重要!!)
1.jQuery扩展语法 把扩展的内容就可以写到xxxx.js文件了,在主文件中直接导入就行了. 用法1.$.xxx() $.extend({ "GDP": function () ...
- WEB前端--JavaScript
JavaScript JavaScript基础 一.JavaScript简介 JavaScript是一种嵌入到HTML文件中的描述性语言,由浏览器的解释器将其动态地处理成可执行的代码,能独立地完成与客 ...
- web前端----Bootstrap框架补充
一.一个小知识点 1.截取长屏的操作 2.设置默认格式 3.md,sm, xs 4.空格和没有空格的选择器 二.响应式介绍 - 响应式布局是什么? 同一个网页在不同的终端上呈现不同的布局等- 响应式怎 ...
- web前端----JavaScript的DOM(三)
一.JS中for循环遍历测试 for循环遍历有两种 第一种:是有条件的那种,例如 for(var i = 0;i<ele.length;i++){} 第二种:for (var i in l ...
- web前端----JavaScript的BOM
一.引入 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和 ...
随机推荐
- C# 事件详解
1.事件的本质是什么 答:事件是委托的包装器,就像属性是字段的包装器一样 2.为什么有了委托还有有事件 委托可以被访问就可以被执行,事件则只能在类的内部执行 3.事件要怎么声明 a.明一个委托 //委 ...
- Windows 10开发基础——文件、文件夹和库(二)
主要内容: 使用选取器打开和保存文件 关于文件.文件夹和库,如果深究其实还是有比较多的内容,我们这一次来学习一下选取器就收了.还有上篇博文中读写文本文件的三种方式可以细细体会一下. 文件选取器包含文件 ...
- Redis简介和安装
Redis介绍 Redis是一种Key-Value存储系统(数据库),其提供了一组丰富的数据结构,如List,Sets,Hashes和Ordered Sets Redis安装 wget <Red ...
- Git基本用法(一)
使用Git正常的工作流 创建/修改文件 使用git add <file1> <file2> <file3>...将文件添加至本地的缓冲区Index中 使用git c ...
- Homebrew 1.0.0 发布,MacOS 上的包管理器,比如安装qt5keychain
神器,没有它不知道怎么用macos https://www.oschina.net/news/77367/homebrew-1-0-0 Mac OS X用户,qt5keychain可以使用homebr ...
- 似乎是VS2017的一个BUG
VS版本:2017(15.9.13) 新建一个c#控制台项目,把Program.cs的内容替换成如下: namespace ConsoleApp1 { class Program { static v ...
- Dynamics 365 for sales - Account与Contact之间的关系
Account :可以理解成客户,可以是公司组织,当然也可以是个人 Contact: 从字面理解为联系人 例如,腾讯公司要买我们公司的软件,他们的主要负责人是IT部门的小马,那么,腾讯要创建成Acco ...
- 读书笔记——《谁说菜鸟不会数据分析—Python篇》
最近刚读完一本新书,关注的公众号作者出的“谁说菜鸟不会数据分析—Python篇”,话说现在很多微信公众号大牛都在出书,这貌似是一个趋势.. 说说这本书吧,我之前看过一些网文,对于数据分析这一块也有过一 ...
- netty服务端启动--ServerBootstrap源码解析
netty服务端启动--ServerBootstrap源码解析 前面的第一篇文章中,我以spark中的netty客户端的创建为切入点,分析了netty的客户端引导类Bootstrap的参数设置以及启动 ...
- 深入V8引擎-AST(2)
先声明一下,这种长系列的大块头博客只能保证尽可能的深入到每一行源码,有些代码我不乐意深究就写个注释说明一下作用.另外,由于本地整理的比较好,博客就随心写了. 整个Compile过程目前只看到asmjs ...