[Javascript] 前端随笔
做一个小功能时使用到的一点技术点记录下来:
1.在js中使用定时器:
这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript。不过两者各有各的应用场景。
方 法
实际上,setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。
不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码。
虽然表面上看来setTimeout只能应用在on-off方式的动作上,不过可以通过创建一个函数循环重复调用setTimeout,以实现重复的操作:
showTime();
function showTime()
{
var today = new Date();
alert( " The time is: " + today.toString());
setTimeout( " showTime() " , 5000 ); // 每隔5秒调用 showTime(),但是可以在函数中间中断
}
一旦调用了这个函数,那么就会每隔5秒钟就显示一次时间。
setInterval( " showTime() " , 5000 ); // 每隔5秒执行showTime()
function showTime()
{
var today = new Date();
alert( " The time is: " + today.toString());
}
参考连接:http://jun1986.iteye.com/blog/1025965
setTimeout实现页面加载后一段时间内执行某一方法:
myInterval();
function myInterval() {
if($("#loadFinishedFlag").val() != "success") {
setTimeout(myInterval, 500);
} else {
executePerSecond(0);
}
} function executePerSecond(executeSqlNumber) {
var length = $("[id^='projectSqlResult']").length;
if(executeSqlNumber < length) {
var result = $("[id^='projectSqlResult']")[executeSqlNumber];
var projectId = $(result).attr("id").split("_")[1];
var sqlId = $(result).attr("id").split("_")[2];
$(result).text("SQL正在执行中,请稍等……");
executeSqlByAjax(projectId, sqlId);
executeSqlNumber++;
setTimeout(function () {
executePerSecond(executeSqlNumber);
}, parseInt($("#executeSqlInterval").val()) * 1000);
}
}
执行带参数的setTimeout,setTimeout(function() {method(params);}, 1000)
2.在js中取得字符串后转json的两种方式:
-转换方式需要加(): testJson = eval("(" + testJson + ")");
-使用jquery.parseJSON()方法
3.ajax调用:
$.ajax({
type:"post", //请求方式
url:"./test", //发送请求地址
data:{ //发送给数据库的数据
username:$("#username").val(),
content:$("#content").val()
},
//请求成功后的回调函数有两个参数
success:function(data,textStatus){
$("#resText").html(data);
}
});
4.jquery select option操作:
$("#selectID option:last")
$("#selectID option:last")
$("#selectID option[index=1]")
$("#selectID option[value=4]")
$("#selectID option[text=5]")
参考:http://www.cnblogs.com/gengaixue/archive/2011/07/28/2119040.html
5.在某个元素里面添加子元素,比如<div>abc...这里添加</div>,使用$(element).append(subElement),元素之前添加$(element).before, 开头:$(element).prepend, 结尾$(element).after
参考:http://www.cnblogs.com/william-lin/archive/2012/08/12/2635402.html
6.取某个元素的值使用$(element).val(),取/设值元素属性值$(element).attr("name", value),
7.JQ模糊选择器:$("[id^='abc']")找id以abc开头的,
参考:http://blog.163.com/09zzy@126/blog/static/711976652012411102034165/
8.readonly, disabled属性设置:$().attr("readonly", "readonly"), $().attr("disabled", "disabled")
9.bootstrap模态框的使用(Modal), 即弹出框,引用以下
<link href="/css/bootstrap.css" rel="stylesheet">
<script src="/js/jquery-2.1.3.min.js" type="text/javascript"></script>
<script src="/js/bootstrap.js" type="text/javascript"></script>
<button class="btn btn-primary btn-lg" data-toggle="modal"
data-target="#myModal">
开始演示模态框
</button>
<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close"
data-dismiss="modal" aria-hidden="true">
×
</button>
<h4 class="modal-title" id="myModalLabel">
模态框(Modal)标题
</h4>
</div>
<div class="modal-body">
在这里添加一些文本
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default"
data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary">
提交更改
</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
参考连接:http://outofmemory.cn/bootstrap/tutorial/bootstrap-modal-plugin.html
http://www.runoob.com/bootstrap/bootstrap-modal-plugin.html
10.删除数据:delete,使用where条件,删除所有、使用truncate删除所有
11.对某个元素的子元素查的:$(element).find("label"),查找element下面的label子元素
12.ajax提供数据时遇到中文乱码:在客户端使用encordURI("文字"),在服务器端使用URLDecoder.decode("文字", "UTF-8"),使用ajax请求时提交数据可能默认使用的UTF-8
[Javascript] 前端随笔的更多相关文章
- JavaScript前端框架的思考
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:现在JavaScript前端框架层出不穷,尤其Angular进入到2.x时候之后,我们 ...
- JavaScript前端和Java后端的AES加密和解密
在实际开发项目中,有些数据在前后端的传输过程中需要进行加密,那就需要保证前端和后端的加解密需要统一.这里给大家简单演示AES在JavaScript前端和Java后端是如何实现加密和解密的. 直接上代码 ...
- 我发起并创立了一个 Javascript 前端库 开源项目 jWebForm
在线演示地址: ( 在线演示 云平台 由 Kooboo 提供 https://www.kooboo.com/ ) 按钮: http://iwebform.kgeking.kooboo.si ...
- JavaScript前端和Java后端的AES加密和解密(转)
在实际开发项目中,有些数据在前后端的传输过程中需要进行加密,那就需要保证前端和后端的加解密需要统一.这里给大家简单演示AES在JavaScript前端和Java后端是如何实现加密和解密的. java端 ...
- 前端随笔 - JavaScript中的闭包
前阵子重新复习了一下js基础知识,第一篇博客就以分享闭包心得为开始吧. 首先,要理解闭包,就必须要了解一个概念:作用域链. 作用域链 作用域代表着可访问变量的集合,变量分为全局变量和局部变量两种,在函 ...
- [前端随笔][JavaScript] 制作一个富文本编辑器
写在前面 现在网上有很多现成的富文本编辑器,比如百度家的UEditor,kindeditor,niceditor等等,功能特别的多,API也很多,要去熟悉他的规则也很麻烦,所以想自己了解一下原理,做一 ...
- [前端随笔][JavaScript][自制数据可视化] “中国地图”
说在前面 想自己实现一个可视化的中国地图(可以实现如用户来源省份数据统计功能),网上搜了一下,翻了几页几乎都是第三方库(如echarts.js)实现的,简直不能忍. 不是第三方库不好,只是要花时间去适 ...
- Javascript前端和JAVA后端对加密库的处理实例
前端加密 Javascript的加解密有开源的库,http://www.oschina.net/p/crypto-js/ 如下是具体的使用例子 <!DOCTYPE html> <ht ...
- 常用html、CSS、javascript前端命名规范
无论是从技术角度还是开发视角,对于web前端开发规范文档都有一定规范,本文就css3和html5的发展前景总结了一系列的web开发文档,仅供大家参考. 规范目的: 为提高团队协作效率, 便于后台人员添 ...
随机推荐
- 第一章 Part 2/2 Git 一览
被跟踪文件(Tracked files) 被跟踪文件是 Git 管理的工作目录 (存储库) 中的文件.当你添加新文件或使更新现有文件时,Git都会跟踪这些文件变化.在某个时间点,你将通过命令将这些文件 ...
- 第五章 --- 关于Javascript 设计模式 之 发布-订阅模式
先来个最简单的 发布订阅模式 document.body.addEventListener('click',function(){ alert(123); }); document.body.clic ...
- JQuery中$.each 和$(selector).each()的区别详解
PS:晚上在写页面时,发现了一个问题,$.each 和$(selector).each()有哪些区别?百度搜索关键词,首页显示出来一些前人的经验,总结一下,发上来. 1.$(selector).eac ...
- 认识Android Service
一.使用Service 1.什么是Service以及Service的配置项: Service是Android组件的一种,派生自android.app.service类.它不提供交互界面,只是在后台运 ...
- 对日期 ,和 master.dbo.spt_values 表操作
if object_id('tempdb..#xs') is not null drop table #xs; ), date datetime, sale float) insert into #x ...
- Unix网络单词汇总
Chrome开发者工具 Elements(元素).Network(网络).Sources(源代码:调试JS的地方).Timeline(时间线).Profiles(性能分析).Resources(资源: ...
- OC与c混编实现Java的String的hashcode()函数
首先,我不愿意大家需要用到这篇文章里的代码,因为基本上你就是被坑了. 起因:我被Java后台人员坑了一把,他们要对请求的参数增加一个额外的字段,字段的用途是来校验其余的参数是否再传递过程中被篡改或因为 ...
- STL~heap
1.定义 堆:若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树 树中任一非叶子结点的关键字均不大于(或不小于)其子结点的关键字.分为大根数(默认 ...
- flexbox学习
https://philipwalton.github.io/solved-by-flexbox/ http://www.ruanyifeng.com/blog/2015/07/flex-gramma ...
- UITableViewCell 的附件类型 accessoryType 选中、详情、箭头
UITableViewCell * cell = [[UITableViewCell alloc] init]; 设置cell的附件类型: // >1 打钩 选中// cell.acces ...