[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开发文档,仅供大家参考. 规范目的: 为提高团队协作效率, 便于后台人员添 ...
随机推荐
- Netty源码分析之服务端启动过程
一.首先来看一段服务端的示例代码: public class NettyTestServer { public void bind(int port) throws Exception{ EventL ...
- 淘宝分布式文件存储系统:TFS
TFS ——分布式文件存储系统 TFS(Taobao File System)是淘宝针对海量非结构化数据存储设计的分布式系统,构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问. ...
- Myeclipse不显示js文件错误的方法
最近在学后台,用Myeclipse ,那么问题来了,Myeclipse 总是喜欢报 js 文件的错误,这就很烦了,看着也不舒服. 查看资料后,解决方法如下: 项目[鼠标右键] -> MyEcli ...
- 布局TextView和EditText区别,layout_width和lay_weight区别--Android Studio
1. TextView控件是文本表示控件,主要功能是向用户展示文本的内容,它是不可编辑的,如设置标题:EditText控件是编辑文本控件,主要功能是让用户输入文本的内容,它是可以编辑的.每一个控件都有 ...
- 爬取https页面遇到“SSLError: hostname 'xxx' doesn't match either of”的解决方法
使用python requests 框架包访问https://itunes.apple.com 页面是遇到 SSLError: hostname 'itunes.apple.com' doesn't ...
- C和指针 第十五章 错误报告perror和exit
15.1 错误报告 perror 任何一种程序都存在出错的可能,包括系统的函数库,当出现错误时,系统提示发生错误,标准库函数在一个外部整型变量中保存错误代码,然后把错误代码传给用户程序,提示错误原因. ...
- a标签产生间隙,<a> 包裹 <img> 产生 4px 间隙
图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关),所以设置 vertical ...
- HTTP的客户端识别与cookie机制
本文是<HTTP权威指南>的读书笔记 Web服务器可能同时在与数千个客户端同时进行会话,服务器需要记录下它们在与谁交谈,而不是认为所有的请求都来自于匿名客户端.在HTTP中可以有以下几种方 ...
- bzoj4691: Let There Be Light
如果原点能被一个光源照到,那么这两个点之间一定没有任何球.我们可以通过三分距离来确定某线段和球是否有交点. 注意到m非常小,于是我们可以枚举原点被哪些光源照到.由于\(O(2^{n}*m)\)会超时, ...
- APUE学习--第三版apue编译
第三版apue编译: 1. 首先在 http://www.apuebook.com/ 下载源码解压: tar zxvf src.3e.tar.gz 看完Readme可知,直接执 ...