js中控制函数执行1次或n次的方法
[ 2017/12/01, 6634阅, 0评 ]
在一些特定情况下,我们只需要让某个函数只执行1次或n次,比如循环或者定时执行等。 1.最简单的一种 var ifRun = true; var myFunction = function(){ if(ifRun){ console.log("i'm just do once"); ifRun = false; } } myFunction();//i'm just do once myFunction();//nothing myFunction();//nothing 2.使用apply()劫持一下再做次数判断 function just...
动态加载js文件以及判断js加载完成
[ 2017/12/01, 6150阅, 0评 ]
常用的动态加载js文件有以下几种方式: 1.直接document.write document.write("<script src='test.js'><\/script>"); 2.动态创建script元素 function loadJS(jsUrl) { var _doc = document.getElementsByTagName('head').item(0), script = document.createElement('script'); script.setAttribute('type',...
JavaScript的隐式转换和显式转换
[ 2017/11/30, 3046阅, 0评 ]
JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object。object是引用类型,其它的五种是基本类型或者是原始类型。我们可以用typeof方法打印来某个是属于哪个类型的。不同类型的变量比较要先转类型,叫做类型转换,类型转换也叫隐式转换。隐式转换通常发生在运算符加减乘除,等于,还有小于,大于等。 typeof '11' //"string" typeof(11) //"number" '11' < 4 //false 一、基本类型的转换 1.加减乘除 1.字符串加数,数...
angularJS去掉路由url里的#号
[ 2017/11/28, 4103阅, 1评 ]
AngularJS框架定义了自己的前端路由控制器,通过不同URL实现单面(ng-app)对视图(ng-view)的部署刷新,并支持HTML5的历史记录功能。默认状态下,是不启动HTML5模式的,此时URL中会包含一个#号,用来区别是AngularJS管理的路径还是WebServer管理的路径。 某些情况下,#号并不不太友好。比如美观度,还有有的地方不支持这种带#号的URL。下面记录下去掉#号的方法: 1.入口文件index.html中增加<base>标签 <!DOCTYPE html> <html> <head> <...
angularJS之$location服务
[ 2017/11/20, 3621阅, 0评 ]
The $location service parses the URL in the browser address bar (based on the window.location) and makes the URL available to your application. Changes to the URL in the address bar are reflected into $location service and changes to $location are reflected into the browser address bar. The $locati...
移动端手势库hammerJS
[ 2017/11/18, 3200阅, 0评 ]
hammerJS是一个优秀的、轻量级的触屏设备手势库,他可以完美的实现在移端开发的大多数事件,如:点击、滑动、拖动、多点触控等事件。不需要依赖任何其他的框架,并且整个框架非常小,使用也非常简单。 浏览器/终端的支持 无须担心你的浏览器或系统不在下方的列表上,Harmmer可以运行在除了IE8-的任何地方。浏览器若对触摸行为(touch-action)提供原生支持,那么对比那些不支持的浏览器,会有更好的体验。 相关文档资料 Hammer.JS官网 HammerJS.GitHub 移动端手势库hammerJ...
css常用水平或垂直居中方法总结
[ 2017/11/16, 2890阅, 0评 ]
1.margin:0 auto水平居中 具体来说就是把要居中的元素的margin-left和margin-right都设为auto,此方法只能进行水平的居中,且对浮动元素或绝对定位元素无效。 2.text-align:center水平居中 只能对图片,按钮,文字等行内元素(display为inline或inline-block等)进行水平居中。但要说明的是在IE6、7这两个浏览器中,它是能对任何元素进行水平居中的。 3.height和line-height让单行文字垂直居中 把文字的line-height设为文字父容器的高度,适用于只有一行文字的情况。 4....
单行文本溢出显示省略号 我是单行文本溢出显示省略号的效果咧 .test1{ /*示例css*/ background:#e5e5e5; width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } 多行文本溢出显示省略号-webkit-line-clamp -webkit-line-clamp是一个不规范的属性,它没有出现在 CSS 规范草案中。它用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他外来的WebKit属性。常见结合属性:...
angularJS基于TouchSlide的触屏轮播实现
[ 2017/11/11, 4223阅, 0评 ]
大话主席的TouchSlide插件短小精悍,各种效果也比较实用,非常适合用于移动端的项目。但是在基于angularjs的项目中,轮播的数据是从服务端获取的,需要从服务端拿到数据之后才能执行TouchSlide的方法,而且TouchSlide对于ng-repeat出来的数据极不友好,所以我偏不使用ng-repeat而直接append添加到DOM中,虽说有悖于angularjs的一些初衷,但是问题确实快速的解决了,哈哈,特此贴下代码记录一番,后期再逐渐优化更新。 效果预览:angularjs基于TouchSlide的触屏轮播 TouchSlide各种效果配置信息及下载详见...