本文主要介绍一下常用的js片段, 将持续添加。
Js搜索实现
原理: 使用indexOf 来进行关键字匹配
1234567891011 $('#go-search').click(function() {var searchkey = $('#key-word').val() //获取搜索关键词$('li.search-hosp').each(function() { //用jquery each来遍历每个元素var hospName = $(this).find('span').html() //获取元素里面提取词if(hospName.indexOf(searchName) !== -1) { //采用indexOf搜索,== -1 则无匹配词$(this).show() //有匹配,则显示} else {$(this).hide() //无匹配隐藏}})})
jquery怎么跳出当前的each循环
说明
return false;——跳出所有循环;相当于 javascript 中的 break 效果。
return true;——跳出当前循环,进入下一个循环;相当于 javascript 中的 continue 效果
1234567 $("input[type='text']").each(function (i){var _val=$(this).val();alert(_val);if(_val=='2'){return false; //跳出循环}})
js 时区转换,标准时间转换成本地时间
将时间戳时间,切换成本地时间
12 var d = new Date(1474218082000)d.setTime(d.getTime() + (d.getTimezoneOffset()*6000))
注册一次性事件
一次性事件: 即事件使用一次即删除,再次使用需要注册 dom 事件
|
|
js 对象深拷贝
对象直接通过 = 号赋值都是, 只是为对象新添加一个引用, 而指向的内存空间还是同一个, 例如: var objB = objA; objB 只是 objA的引用,指向同一个内存空间, objA 改变了,同时 objB 也改变了。
深拷贝是: objB 与 objA 值相同,但是拥有各自独立的内存空间
|
|
采用表单提交方式上传图片
html 标签
123456789101112131415161718 <div class="load-wrap" id="load-wrap">//fakeframe 用于阻止表单提交后的页面刷新/跳转<iframe id="fakeframe" name="fakeframe" style="display: none;"></iframe><form method="POST" enctype="multipart/form-data" action="/api/pic"target="fakeframe" class="img-upload" id="img-upload"><div id='params' style="display: none;">//用于传递 post变量 //name为post参数名<input type="hidden" name="csrfmiddlewaretoken" value="' + csrftoken + '"><input type="hidden" name="id" value="' + data.id + '"></div><h4 id="frame-head">上传图片<span class="close" id="close">X</span></h4><span></span><div class="file-chs"><input type="file" name='pic'></div><input type="submit" value="确定" class="sub-btn"></form></div>Js 处理上传事件
1234 $("#fakeframe").on('load',function(){var data = $.parseJSON($("#fakeframe").contents().text()); //获取接口返回参数console.log(data)})