1.JavaScript 函数节流
用途:如调整浏览器大小,或者用户输入信息,致使反复提交接口javascript
function throttle(method,context) { clearTimeout(method.tId); method.tId=setTimeout(function() { method.call(context); },500); }
调用方法:css
window.onresize = function() { throttle(winResize); }
2.JavaScript判断手机端访问html
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地址栏参数java
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返回顶部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.正则检测手机号,邮箱android
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.生成随机数函数ios
function getRandom(n){ return Math.floor(Math.random()*n+1) }
1)获取0-100的随机数——getRandom(100);web
2)获取0-999的随机数——getRandom(999);ajax
7.jQuery模拟鼠标点击事件json
$("#a").trigger("click");//模拟执行id=a的事件
8.jQuery-onload让第一次页面加载时图片是淡入方式显示
$("#load img").load(function() { //图片默认隐藏 $(this).hide(); //使用fadeIn特效 $(this).fadeIn("5000"); }) <div id="load" class="loading"> <img src="images/apple_3_bigger.jpg" style="height:auto"> </div>
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; <div class="figcaption"><p>固定一个喜欢的网站可不能够?固然!把天天常去的网站通通固定到开始屏幕中。如何固定?打开 IE10,在网页空白处点击鼠标右键,在应用栏中点击“图钉”图标便可完成固定。</p></div> $(".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) } } <input type="button" id="gain_code" value="获取短信验证码" class="gain-code">
14.jquery 弹出层
dom: <div id="bg"></div> <div class="pop">弹窗内容</div> #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.页面初始化渐变
<script language="javascript" type="text/javascript"> $(document).ready(function(){ $("body").css("display","none"); $("body").fadeIn(2000); //这个值,本身根据须要设定 }); </script>
17.用iframe模拟ajax上传文件
1.<form method="post" action="xxx" enctype="multipart/form-data" id="picSubmit" target="form_iframe"></form> //这里是重点。要上传文件enctype这个属性不可少,target的值改成iframe的name的值。 2.<iframe id="form_iframe" name="form_iframe" style="display:none;"> </iframe> 3.Response.Write("<script type='text/javascript' type='language'>parent.window.callBackMethod('上传失败'); //服务端返回js代码以及状态码 //parent.window.uploadSuccess(); //这个是JS调用父页的方法 4.js var uploadSuccess = function(data){ if(data){ var str = data; var statue = str.split(",")[0], statue1 = str.split(",")[1]; if(statue == 1){ alert("上传成功!"); }else{ alert(statue1); } } } //前提必须同域
老虎机自定义中止位置
插件里没发现有这个参数,不过能够简单修改一下插件达到这个效果。
$.each(data, function(index, val) { if (val.areaid == 2) { var areaTpl = '<p id="{sever_id}">{server_list}</p>', areaItem = [], areaList = data[0].server_list; $.each(val.server_list, function(index, val) { var areaStr = areaTpl.replace(/\{server_list\}/gi, val.name) .replace(/\{sever_id\}/gi, val.id); areaItem.push(areaStr); }); $area.append(areaItem); } });
$("#ios").click(function(event) { var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i)=="micromessenger") { blockShow(); event.preventDefault(); } });
if(navigator.userAgent.indexOf("MSIE")>0){ if(navigator.userAgent.indexOf("MSIE 9.0")>0 || navigator.userAgent.indexOf("MSIE 8.0")>0 || navigator.userAgent.indexOf("MSIE 7.0")>0 || navigator.userAgent.indexOf("MSIE 6.0")>0){ $("#slotMachineButton1").hide(); $("#slot_ie").show(); } }
<embed src="http://9yinsy.woniu.com/static/act/201605/gsws/media/banner.swf" autostart="true" loop="loop" width="100%" height="900px" wmode="Opaque" class="embed"/>
(function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function () { var clientWidth = docEl.clientWidth; if (!clientWidth) return; docEl.style.fontSize = clientWidth / 7.5 + 'px'; //等价于clientWidth / 750 * 100 + 'px'; }; if (!doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false);//resize doc.addEventListener('DOMContentLoaded', recalc, false);//reload })(document, window);
if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) { var loadDateTime = new Date(); window.setTimeout(function() { var timeOutDateTime = new Date(); if (timeOutDateTime - loadDateTime < 5000) { window.location = "http://gwact.woniu.com/api/channel/358"; } else { window.close(); } }, 25); window.location = 'wnapp://'; } else if (navigator.userAgent.match(/android/i)) { var state = null; try { state = window.open('wnapp://', '_blank'); } catch(e) {} if (state) { window.close(); } else { window.location = "http://gwact.woniu.com/api/channel/358"; } }
h5视频播放,暂停
$("#media").get(0).play(); $("#media").get(0).pause();
<!DOCTYPE html> <html> <head> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script type="text/javascript"> var countdown=60; function settime(obj) { if (countdown == 0) { obj.removeAttribute("disabled"); obj.value="免费获取验证码"; countdown = 60; return; } else { obj.setAttribute("disabled", true); obj.value="从新发送(" + countdown + ")"; countdown--; } setTimeout(function() { settime(obj) } ,1000) } </script> <body> <input type="button" id="btn" value="免费获取验证码" onclick="settime(this)" /> </body> </html>
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{ //电脑端 不作处理 } }
// 字符串乘法 String.prototype.times = function(n) { return Array.prototype.join.call({length:n+1}, this); }; "*".times(5) => *****
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('请输入正确的手机号码'); } }); } };