热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScript&jQuery经常使用要领小记

1.JavaScript函数撙节用处:如调解浏览器大小,或许用户输入信息,致使重复提交接口functionthrottle(method,context){clearTimeout

1.Javascript 函数撙节
用处:如调解浏览器大小,或许用户输入信息,致使重复提交接口

function throttle(method,context) {
clearTimeout(method.tId);
method.tId=setTimeout(function() {
method.call(context);
},500);
}

挪用要领:

window.Onresize= function() {
throttle(winResize);
}

2.Javascript推断手机端接见

function isPhone() {
var sUserAgent = navigator.userAgent;
if (sUserAgent.indexOf('Android') > -1
&& sUserAgent.indexOf('Mobile') > -1
||sUserAgent.indexOf('iPhone') > -1
||sUserAgent.indexOf('iPod') > -1
|| sUserAgent.indexOf('Symbian') > -1
|| sUserAgent.indexOf('IEMobile') > -1){
//coding...
}
}

3.猎取URL地址栏参数

function GetQueryString(name) {
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}

4.jQuery返回顶部

$(function() {
//当滚动条的位置处于距顶部100像素以下时,跳转链接涌现,不然消逝
$(function () {
$(window).scroll(function(){
if ($(window).scrollTop()>100){
$("#back_to_top").fadeIn(1500);
}
else
{
$("#back_to_top").fadeOut(1500);
}
});
//当点击跳转链接后,回到页面顶部位置
$("#back_to_top").click(function(){
$('body,html').animate({scrollTop:0},1000);
return false;
});
});
});

5.正则检测手机号,邮箱

var reg= /^[1][0-9]\d{9}$/;
mReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;邮箱
qqReg = /^[1-9][0-9]{4,9}$/
if(!reg.test(mobilephone)||mobilephOne== null){
alert("请输入准确的手机号!");
return false;
};

6.天生随机数函数

function getRandom(n){
return Math.floor(Math.random()*n+1)
}

1)猎取0-100的随机数——getRandom(100);

2)猎取0-999的随机数——getRandom(999);

7.jQuery模仿鼠标点击事宜

$("#a").trigger("click");//模仿实行id=a的事宜

8.jQuery-onload让第一次页面加载时图片是淡入体式格局显现

$("#load img").load(function() {
//图片默许隐蔽
$(this).hide();
//运用fadeIn殊效
$(this).fadeIn("5000");
})



9.推断微信浏览器

var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
event.preventDefault();
...
}

10.锚点滑动结果

$('a').click(function(){
$('html, body').animate({
scrollTop: $( $.attr(this, 'href') ).offset().top
}, 400);
return false;
});

11.多行文本溢出显现省略号

.figcaption {
background: #EEE;
width: 410px;
height: 3em;
margin: 1em;
}
.figcaption p {
margin: 0;
line-height: 1.5em;
}
//////css
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 5;
-webkit-box-orient: vertical;
word-break: break-all;

牢固一个喜好的网站可不能够?固然!把天天常去的网站一切牢固到最先屏幕中。怎样牢固?翻开 IE10,在网页空白处点击鼠标右键,在运用栏中点击“图钉”图标即可完成牢固。


$(".figcaption").each(function(i){
var divH = $(this).height();
var $p = $("p", $(this)).eq(0);
while ($p.outerHeight() > divH) {
$p.text($p.text().replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/, "..."));
};
});

12.倒计时

var lastTime = 0; // 剩余时间 (秒)
var Timer = null
function calTime(){
if(lastTime <= 0){
clearTimeout(Timer);
$leftTime.html('已超时');
return false;
}
var minute = parseInt(lastTime / 60, 10);
var secOnd= lastTime%60;
var mm = minute<10 ? ('0'+minute) : minute;
var ss = second<10 ? ('0'+second) : second;
$leftTime.html(mm +'分'+ss+'秒');
lastTime--;
setTimeout(function(){
calTime();
},1000)
}
var $leftTime = $('#leftTime');
if($leftTime.length){
lastTime = Number($('#leftTime').data('resttime'));
Timer = setTimeout(function(){
calTime();
},1000);
}

13.点击发送验证码倒计时

//倒计时60s
var wait=60;
function time(o) {
console.log(o);
if (wait == 0) {
o.removeAttr("disabled");
o.val("免费猎取验证码");
wait = 60;
} else {
o.attr("disabled", true);
o.val("从新发送(" + wait + ")");
wait--;
setTimeout(function() {
time(o)
},
1000)
}
}

14.jquery 弹出层

dom:


弹窗内容

#bg {
background-color: #000;
position: absolute;
z-index: 99;
left: 0;
top: 0;
display: none;
width: 100%;
height: 100%;
opacity: 0.9;
filter: alpha(opacity=90);
-moz-opacity: 0.9;
}
js:
$("ele").click(function () {
if($("#bg").length != 1){
$(".footer").after(tpl);
}

$(window).scroll(function(){
if ($(window).scrollTop()>20){
$('body,html').animate({scrollTop:0},100);
return false;
}
});
var $box = $('.pop-box');
$box.css({
//设置弹出层间隔左侧的位置
left: ($("body").width() - $box.width()) / 2 + "px",
//设置弹出层间隔上面的位置
top: "0px",
/*top: ($(window).height() - $box.height()) / 2 + $(window).scrollTop() + "px",*/
display: "block"
});

}); //点击封闭按钮的时刻,遮罩层封闭
$(".container").on('click', '.close', function(event) {
event.preventDefault();
$("#bg,.pop-box").remove();
});

//点击弹窗以外部份隐蔽
$(document).click(function(event) {
var _con = $(".pop");
if(!_con.is(event.target) && _con.has(event.target).length === 0){ // Mark 1
$(".pop").hide();
}
});

15.Javascript COOKIE操纵

//设置COOKIE
function setCOOKIE(COOKIEName,COOKIEValue,COOKIEExpires,COOKIEPath)
{
COOKIEValue = escape(COOKIEValue);//编码latin-1
if(COOKIEExpires=="")
{
var nowDate = new Date();
nowDate.setMonth(nowDate.getMonth()+6);
COOKIEExpires = nowDate.toGMTString();
}
if(COOKIEPath!="")
{
COOKIEPath = ";Path="+COOKIEPath;
}
document.COOKIE= COOKIEName+"="+COOKIEValue+";expires="+COOKIEExpires+COOKIEPath;
}
//猎取COOKIE
function getCOOKIEValue(COOKIEName)
{
var COOKIEValue = document.COOKIE;
var COOKIEStartAt = COOKIEValue.indexOf(""+COOKIEName+"=");
if(COOKIEStartAt==-1)
{
COOKIEStartAt = COOKIEValue.indexOf(COOKIEName+"=");
}
if(COOKIEStartAt==-1)
{
COOKIEValue = null;
}
else
{
COOKIEStartAt = COOKIEValue.indexOf("=",COOKIEStartAt)+1;
COOKIEEndAt = COOKIEValue.indexOf(";",COOKIEStartAt);
if(COOKIEEndAt==-1)
{
COOKIEEndAt = COOKIEValue.length;
}
COOKIEValue = unescape(COOKIEValue.substring(COOKIEStartAt,COOKIEEndAt));//解码latin-1
}
return COOKIEValue;
}

16.页面初始化渐变

17.用iframe模仿ajax上传文件

1.
//这里是重点。要上传文件enctype这个属性不可少,target的值改成iframe的name的值。
2.
3.Response.Write("




iframe推断手机是不是装置app,装置翻开,未装置下载


function show(){
if( navigator.userAgent.indexOf('MicroMessenger') != -1 ){
document.getElementById("openBrowser").style.display = "block";
}else{
}
} function clik(){
var u = navigator.userAgent, app = navigator.appVersion;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或许uc浏览器
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
var isIpad = u.indexOf('iPad') > -1; //是不是iPad
var isIPhOne= u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1; //是不是为iPhone或许QQHD浏览器
if(isAndroid){
var ifrSrc = "jsmcc://H/5"+"?json={'urlorClass':'http://wap.js.10086.cn/activity/482','type':'0','description':'0','isLogin':'1','title':'晋级4G,抱走6GB超大流量','isurlComplete':'0','isShare':'0'}";
//运用iframe体式格局触发jsmcc://
var ifr = document.createElement('iframe');
ifr.src = ifrSrc ;
ifr.style.display = 'none';
document.body.appendChild(ifr);
//当iframe加载5秒后,不管是不是能切换到APP窗口(未装置或许版本不对,是不会翻开APP的),页面继承跳转
setTimeout( function(){
window.location.href="http://wap.js.10086.cn/userfiles/wapapp/jsmcc.apk";
//固然也能够回退到前一页面
//window.history.go(-1);
},3000);

}else if(isIOS || isIpad || isIPhone){
var ifrSrc = "jsmcc://H/5"+"?json={'urlorClass':'http://wap.js.10086.cn/activity/482','type':'0','description':'0','isLogin':'1','title':'晋级4G,抱走6GB超大流量','isurlComplete':'0','isShare':'0'}";
//运用iframe体式格局触发jsmcc://
var ifr = document.createElement('iframe');
window.location = ifrSrc ;
ifr.style.display = 'none';
document.body.appendChild(ifr);
//当iframe加载5秒后,不管是不是能切换到APP窗口(未装置或许版本不对,是不会翻开APP的),页面继承跳转
setTimeout( function(){
window.location.href="https://itunes.apple.com/cn/app/id446332125?mt=8&t";
//固然也能够回退到前一页面
//window.history.go(-1);
},3000);
}else{
//电脑端 不做处置惩罚
}
}

js字符串乘法

// 字符串乘法
String.prototype.times = function(n) {
return Array.prototype.join.call({length:n+1}, this);
};
"*".times(5) => *****

Javascript多线程

var worker;
function startWorker(){
if(typeof(Worker)!=="undefined"){
// if(typeof(worker)=="undefined"){
// }
//比较主要的js,零丁安排
worker = new Worker("./js/countdown.js");
worker.Onmessage= function (event) {

};
}
else{
}
} //烧毁
function stopWorker(){
worker.terminate();
}

// 推断浏览器是不是支撑placeholder

var isPlaceholer = function(){
var input = document.createElement('input');
return "placeholder" in input;
}
var editPlaceholder = function(){
var $phOne= $('.phone');
if (!isPlaceholer()) {
$phone.val('请输入准确的手机号码');
$phone.focus(function(event) {
var msg = $phone.val();
if (msg == '请输入准确的手机号码') {
$phone.val('');
}
});
$phone.blur(function(event) {
var msg = $phone.val();
if (msg == '') {
$phone.val('请输入准确的手机号码');
}
});
}
};

推荐阅读
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
author-avatar
晨风流云
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有