0

0

分享javascript、jquery实用代码段

高洛峰

高洛峰

发布时间:2016-12-09 15:05:48

|

1105人浏览过

|

来源于php中文网

原创

本文实例为大家简单分享javascript、jquery实用demo,供大家参考,具体内容如下

javascript判断H5页面离开

function onbeforeunloadFn(){
 console.log('离开页面');
 //...code
}
function showOnbeforeunload(flags){
 if(flags){
 document.body.onbeforeunload = onbeforeunloadFn;
 }else{
 document.body.onbeforeunload = null;
 }
}
$(function(){
 showOnbeforeunload(true);
})

   

jQuery的几个简单实用的分页按钮代码
jQuery的几个简单实用的分页按钮代码

jQuery的几个简单实用的分页按钮代码

下载

jq判断img标签图片地址是否已经加载完毕

立即学习Java免费学习笔记(深入)”;

imgStatus = 0;
 $("img").each(function(){
 if(this.complete){/*this.complete代表图片加载完成*/
  imgStatus++;
 }
 });

   

iframe获取内容-和设置

if($(".ad_show iframe").size() > 0 ){
 $(".ad_show iframe").attr("id","iframead");/*设置iframe的id*/
 /*获取id为iframead的iframe的dom对象*/
 var iframebox = document.getElementById("iframead").contentWindow;
 /*设置兜底内容*/
 iframebox.document.body.innerText = "1234";
}

   

javascript获取浏览器上一页的url

/*返回上一次url,如果是新窗口则不能获取到*/
var beforeUrl = document.referrer;

   

关于头疼的移动端点击冒泡事件


/*虽说tap事件可以阻止大部分冒泡事件,但是还是有一小部分移动端不吃你这套,那么有另外一个解决办法*/
/*将层级间的事件通过H5属性data-flag="true"来控制*/

....

   

简单倒计时功能

   

jQuery的节点操作

jQuery.parent(expr) /*找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(".class")*/
 
jQuery.parents(expr) /*类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素*/
 
jQuery.children(expr) /*返回所有子节点,这个方法只会返回直接的孩子节点,不会返回所有的子孙节点*/
 
jQuery.contents() /*返回下面的所有内容,包括节点和文本。这个方法和children()的区别就在于,包括空白文本,也会被作为一个*/
 
/*
 jQuery对象返回,children()则只会返回节点
 
 jQuery.prev(),返回上一个兄弟节点,不是所有的兄弟节点
 
 jQuery.prevAll(),返回所有之前的兄弟节点
 
 jQuery.next(),返回下一个兄弟节点,不是所有的兄弟节点
 
 jQuery.nextAll(),返回所有之后的兄弟节点
 
 jQuery.siblings(),返回兄弟姐妹节点,不分前后
 
 jQuery.find(expr),跟jQuery.filter(expr)完全不一样。
 jQuery.filter()是从初始的jQuery对象集合中筛选出一部分,
 而jQuery.find()的返回结果,不会有初始集合中的内容,
 比如$("p"),find("span"),是从

元素开始找,等同于$("p span") */

   

js中if判断语句中的in语法

/*
在js代码中
通常的if判断语句会这样写:
*/
if(1 == 1){
 alert("1等于1");
}else{
 alert("1不等于1");
}
/*而在in写法下可以这样:*/
if(1 in window){
 alert("window包含1");
}else{
 alert("window不包含1");
}

   

js的try-catch

try{
 foo.bar();
}catch(e){
 console.log(e.name + ":" + e.message);
}
try{
 throw new Error("Whoops!");
}catch(e){
 console.log(e.name + ":" + e.message);
}
/*
改js代码会捕获一个异常错误:
 因为foo.bar();是未定义的;
 因此在js代码中如果没有异常捕获,整个页面都不会继续解析.
 从而导致页面加载失败.
 这里就需要通过try-catch来异常捕获这种错误,并把他反馈出来
 
目前我们可能得到的系统异常主要包含以下6种:
 EvalError: raised when an error occurs executing code in eval()
 翻译:当一个错误发生在eval()执行代码
 RangeError: raised when a numeric variable or parameter is outside of its valid range
 翻译:当一个数值变量或参数的有效范围之外
 ReferenceError: raised when de-referencing an invalid reference
 翻译:引用无效的引用
 SyntaxError: raised when a syntax error occurs while parsing code in eval()
 翻译:语法错误,当发生语法错误在eval()解析代码里
 TypeError: raised when a variable or parameter is not a valid type
 翻译:错误类型:当一个变量或参数不是一个有效的类型
 URIError: raised when encodeURI() or decodeURI() are passed invalid parameters
 翻译:调用encodeURI()或decodeURI()时,传入的参数是不通过无效的
 
以下是异常捕获是的属性:
 Error具有下面一些主要属性:
 description: 错误描述 (仅IE可用).
 fileName: 出错的文件名 (仅Mozilla可用).
 lineNumber: 出错的行数 (仅Mozilla可用).
 message: 错误信息 (在IE下同description)
 name: 错误类型.
 number: 错误代码 (仅IE可用).
 stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).
*/
/*
 如要判断异常信息的类型,可在catch中进行判断:
 */
 
try {
 coo.bar();//捕获异常,ReferenceError:引用无效的引用
}catch(e){
 console.log(e instanceof EvalError);
 console.log(e instanceof RangeError);
 if(e instanceof EvalError){
 console.log(e.name + ":" + e.message);
 }else if(e instanceof RangeError){
 console.log(e.name + ":" + e.message);
 }else if(e instanceof ReferenceError){
 console.log(e.name + ":" + e.message);
 }
}

   

js中typeof和instanceof区别

/*先捕获异常,抛出异常*/
try {
 throw new myBlur(); // 抛出当前对象
}catch(e){
 console.log(typeof(e.a)); //返回function类型
 if(e.a instanceof Function){//instanceof用于判断一个变量是否某个对象的实例,true
 console.log("是一个function方法");
 e.a();//执行这个方法,输出"失去焦点"
 }else{
 console.log("不是一个function方法");
 }
}
function myBlur(){
 this.a = function(){
 console.log("失去焦点");
 };
}
 
/*
 通畅typeof一般只能返回如下几个结果:
 number,boolean,string,function,object,undefined;
 如果要用if做比较则比较后面要用双引号引起来
*/
 if(typeof(param) == "object"){
 alert("该参数等于object类型");
 }else{
 alert("该参数不等于object类型");
 }
 
/*又如:*/
console.log(Object instanceof Object);//true
console.log(Function instanceof Function);//true
console.log(Number instanceof Number);//false
console.log(String instanceof String);//false
console.log(Function instanceof Object);//true
console.log(Foo instanceof Function);//true
console.log(Foo instanceof Foo);//false

   

HTML5缓存sessionStorage

sessionStorage.getItem(key)//获取指定key本地存储的值
sessionStorage.setItem(key,value)//将value存储到key字段
sessionStorage.removeItem(key)//删除指定key本地存储的值
sessionStorage.length//sessionStorage的项目数
 
/*
sessionStorage与localStorage的异同:
 sessionStorage和localStorage就一个不同的地方,
 sessionStorage数据的存储仅特定于某个会话中,
 也就是说数据只保持到浏览器关闭,当浏览器关闭后重新打开这个页面时,之前的存储已经被清除。
 而localStorage是一个持久化的存储,它并不局限于会话
 
sessionStorage和localStorage的clear()函数的用于清空同源的本地存储数据:
 比如localStorage.clear(),它将删除所有同源的本地存储的localStorage数据,
 而对于SessionStorage,它只清空当前会话存储的数据。
 
sessionStorage和localStorage具有相同的方法storage事件:
 在存储事件的处理函数中是不能取消这个存储动作的。
 存储事件只是浏览器在数据变化发生之后给你的一个通知。
 当setItem(),removeItem()或者clear() 方法被调用,
 并且数据真的发生了改变时,storage事件就会被触发。
 注意这里的的条件是数据真的发生了变化。也就是说,
 如果当前的存储区域是空的,你再去调用clear()是不会触发事件的。
 或者你通过setItem()来设置一个与现有值相同的值,事件也是不会触发的。
 当存储区域发生改变时就会被触发。
*/

   

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
全国统一发票查询平台入口合集
全国统一发票查询平台入口合集

本专题整合了全国统一发票查询入口地址合集,阅读专题下面的文章了解更多详细入口。

19

2026.02.03

短剧入口地址汇总
短剧入口地址汇总

本专题整合了短剧app推荐平台,阅读专题下面的文章了解更多详细入口。

27

2026.02.03

植物大战僵尸版本入口地址汇总
植物大战僵尸版本入口地址汇总

本专题整合了植物大战僵尸版本入口地址汇总,前往文章中寻找想要的答案。

15

2026.02.03

c语言中/相关合集
c语言中/相关合集

本专题整合了c语言中/的用法、含义解释。阅读专题下面的文章了解更多详细内容。

3

2026.02.03

漫蛙漫画网页版入口与正版在线阅读 漫蛙MANWA官网访问专题
漫蛙漫画网页版入口与正版在线阅读 漫蛙MANWA官网访问专题

本专题围绕漫蛙漫画(Manwa / Manwa2)官网网页版入口进行整理,涵盖漫蛙漫画官方主页访问方式、网页版在线阅读入口、台版正版漫画浏览说明及基础使用指引,帮助用户快速进入漫蛙漫画官网,稳定在线阅读正版漫画内容,避免误入非官方页面。

13

2026.02.03

Yandex官网入口与俄罗斯搜索引擎访问指南 Yandex中文登录与网页版入口
Yandex官网入口与俄罗斯搜索引擎访问指南 Yandex中文登录与网页版入口

本专题汇总了俄罗斯知名搜索引擎 Yandex 的官网入口、免登录访问地址、中文登录方法与网页版使用指南,帮助用户稳定访问 Yandex 官网,并提供一站式入口汇总。无论是登录入口还是在线搜索,用户都能快速获取最新稳定的访问链接与使用指南。

114

2026.02.03

Java 设计模式与重构实践
Java 设计模式与重构实践

本专题专注讲解 Java 中常用的设计模式,包括单例模式、工厂模式、观察者模式、策略模式等,并结合代码重构实践,帮助学习者掌握 如何运用设计模式优化代码结构,提高代码的可读性、可维护性和扩展性。通过具体示例,展示设计模式如何解决实际开发中的复杂问题。

3

2026.02.03

C# 并发与异步编程
C# 并发与异步编程

本专题系统讲解 C# 异步编程与并发控制,重点介绍 async 和 await 关键字、Task 类、线程池管理、并发数据结构、死锁与线程安全问题。通过多个实战项目,帮助学习者掌握 如何在 C# 中编写高效的异步代码,提升应用的并发性能与响应速度。

2

2026.02.03

Python 强化学习与深度Q网络(DQN)
Python 强化学习与深度Q网络(DQN)

本专题深入讲解 Python 在强化学习(Reinforcement Learning)中的应用,重点介绍 深度Q网络(DQN) 及其实现方法,涵盖 Q-learning 算法、深度学习与神经网络的结合、环境模拟与奖励机制设计、探索与利用的平衡等。通过构建一个简单的游戏AI,帮助学习者掌握 如何使用 Python 训练智能体在动态环境中作出决策。

3

2026.02.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 4.6万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.7万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号