代码如下:lastScrollY=0;function heartBeat(){ var diffY;if (document.documentElement && document.documentElement.scrollTop)diffY = document.documentElement.scrollTop;else if (document.body)diffY = document.body.scrollTopelse{/*Netscape stuff*/} //alert(diffY);percent=.1*(diffY-lastScrollY); if(percent>0)percent=Math.ceil(percent); else percent=Math.floor(percent); document.getElementById("ad_left")...
firefox 和 ie 的浏览器各自实现了input历史记录的功能,可以简化输入时的麻烦,但是,有时候弹出的下拉框会挡住页面显示内容,而且在某些情况下也不需要对input框进行记录,如号码查询的input框,用户不会对同一个号码进行多次查询,就没有必要让浏览器记录。 MSIE自定义了input 的扩展属性 autocomplete,置为off即可 用这个方法可以屏蔽MSIE,Firefox,chrome,opera则需要使用另一个扩展属性disableautocomplete 两扩展属性可...
若想通过js将内容复制到剪贴板,本来不难,可是若考虑到浏览器的兼容性问题,就变的有点麻烦,使用jquery-zclip复制是一个不错的选择,借助flash实现浏览器的兼容。原理就不细讲了,下面说下如何实现。比如我的html代码如下: 代码如下: 要复制的内容1 要复制的内容2 要复制的内容3 js文件总共需要两个,jquery就不用说了,再就是jquery-zclip.js和ZeroClipboard.swf,这两个文件可以在官方网站上下载,地址如下:http://www.s...
代码如下: function preview(oper) { if (oper < 10) { bdhtml = window.document.body.innerHTML;//获取当前页的html代码 sprnstr = "";//设置打印开始区域 eprnstr = "";//设置打印结束区域 prnhtml = bdhtml.substring(bdhtml.indexOf(sprnstr) + 18); //从开始代码向后取html prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));//从结束代码向前取html window.document.body.innerHTML = prnhtml; window.print(); wi...
工作中遇到需要给输入框中选中的内容增加超链接 代码如下: function addHref(des){ var selectedText=""; if(window.getSelection&&des != undefined){//兼容非IE浏览器,由于非IE浏览器需要给定操作的元素ID才可以获取输入元素中选中的内容,因此需要输入ID var textField=document.getElementById(des); var selectionStart=textField.selectionStart; var selectionEnd=textField.selectionEnd; if(selectionStart != undefine...
上周接到个需求,需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 apk 的下载地址,用户点击下载按钮可以下载此 apk。然后就发生了问题,经过测试,发现用微信扫一扫打开的页面点击下载按钮下载不了 apk,后百度之,原来是微信内置浏览器屏蔽了下载链接,后面和需求方沟通,需求改为如果用户是用微信内置浏览器打开的,则提示用户换一个浏览器打开页面,否则下载不了 apk。那么该如何判断用户是...
上次根据网上的教程给自己的网站弄了一个Web APP,但是给用户的感觉却十分糟糕。 问题说明: 怎么了?原来是打开WEB APP后在主页上随意打开连接,就会自作主张地打开Safari浏览器。原来好好的伪装和心情就全被破坏掉了。这该如何是好?原来解决方法十分简单。仅仅加入这些代码就好了。实验测试在本人的 iPhone (iOS 7.1)和iPod (iOS 6.1.4)上测试通过,根据原作者的叙述,最新的 iOS 7.0.4(iPhone 与 iPad)测试通过,代码应该兼容...
//加入收藏 function AddFavorite(){ if (document.all) { addToBookMark(window.location.href, document.title); } else if (window.sidebar) { addToBookMark(document.title, window.location.href); } } function addToBookMark(url,title){ var ua = navigator.userAgent.toLowerCase(); if(ua.indexOf("msie 8")>-1){ external.AddToFavoritesBar(url,title);//IE8 }else{ try { window.external.addFavorite(url, title)...
fixedBox*{margin:0px;padding:0px;} body{height:3000px;}$(function() { $(".fixedBox").each(function() { var self = $(this); var id = self.attr("id") || 'fixedBox_' + Math.round(Math.random() * 100000); self.attr("id", id); var fb = $("#" + id); var mt = Math.floor(fb.css("margin-top").substring(2, 0)) || 0; var cd = $(' '); fb.after(cd); fb.css({ 'z-index': 999 }).data({ 'top': fb.offset().top...
滑轮滚动页面的事件在网页特效中进场遇到,但是在不同浏览器下的实现方式又不同。下面我实现的方法,兼容常见浏览器。function getData(event){ var e = event || window.event; //获取滚动距离(FF每次滚动 data为3或者-3,其他为120或者-120) var data = e.detail || e.wheelDelta; alert(data); } //IE之外的绑定事件方法 if(document.addEventListener && !document.attachEvent) { document.addEventListener('mousewh...
//宿主为浏览器 //将相应的元素对象的引用传到函数中 function candrag(drager) { drager.onmousedown = function (down) { var offx = drager.offsetLeft var offy = drager.offsetTop; var offxl = down.clientX - offx; var offyl = down.clientY - offy; window.condition = 0;//为window添加了condition属性,用于解决和click之间的矛盾 document.onmousemove = function (move) { drager.style.left = move.clientX - o...
如果要异步执行一个函数,我们最先想到的方法肯定会是setTimeout 例如:setTimeout(function( /* 1s后做点什么 */){},1000} 那如果说要最快速地异步执行一个函数呢? 是否会是:setTimeout(function( /* 尽快做点什么 */){},0} 可惜的是,浏览器为了避免setTimeout嵌套可能出现卡死ui线程的情况,为setTimeout设置了最小的执行时间间隔,不同浏览器的最小执行时间间隔都不一样。chrome下测试 setTimeout 0 的实际执行时间间隔大概在...
首先声明: 本人虽然在web前端岗位干了好多年,但无奈岗位对技术要求不高。html,css用的比较多,JavaScript自己原创的很少,基本都是copy修改,所以自己真正动手写时,发现基础很不牢固,边学习边实践,收获很大。 效果图:不废话了,贴码了 1、css代码代码如下: a:link{color:white;text-decoration:none;} a:visited{color:white;text-decorative:none;} a:hover{color:white;text-decorative:none;} a:active{color:white;te...
症状:给某个元素的 innerHTML 设置值时,如果提供的 HTML 代码中包含js脚本,很多时候这些脚本无效,或者在某种浏览器上有效,但在其它浏览器上无效。 原因:不同浏览器对插入 innerHTML 中的脚本有不同的处理方法。经过实践,归纳如下: 对于IE,首先, script 标签必须带 defer 属性,其次,在插入时刻,innerHTML 的所属节点必须在 DOM 树中. 对于 Firefox 和Opera,在插入时刻,innerHTML 的所属节点不可以在 DOM 树中。 根据上...
要求 1.输入@时,弹出匹配的好友菜单 2.光标进入包含有"@好友"的标签时,弹出菜单 3.按backspace删除时,如果光标前面是包含有"@好友"的标签,弹出菜单 4.兼容ie,firefox. 具体做法 针对要求一,很自然的会想到对输入框绑定事件。这里要绑定mousedown,而不是mouseup.因为如果是mouseup的话,用event.preventDefault()是无法阻止键盘输入@的。另外,这里在事件回调中用return false也是起不了作用的。 绑定mousedown事件后,就要插入...