[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开发文档,仅供大家参考. 规范目的: 为提高团队协作效率, 便于后台人员添 ...
随机推荐
- IntelliJ IDEA 15,16 win 7 64位安装包以及注册码 百度云盘
不知道发出来,有用没有,要是官网下载不了的话,可以用我的这个哦,虽然不是最新的. ideaIU-162.1447.21 ideaIU-15.0.2 win7 64系统的安装包 链接:http://p ...
- 移动端 Web 开发前端知识整理
文章来源: http://www.restran.net/2015/05/14/mobile-web-front-end-collections/ 最近整理的移动端 Web 开发前端知识,不定期更新. ...
- centos 7.0 安装nginx 1.117
php官方下载地址 http://cn2.php.net/downloads.php
- Mysql字符集设置
转 基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如’A'.’B'等:• 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encodi ...
- js作用域
一.js没有块级作用域 在c,java等语言中花括号里的代码都有自己的作用域,而js花括号没有块级作用域,经常会导致一些困惑,不明所以.例如: console.info(color); if(true ...
- 1.openGL 初探
GLEW, GLFW和GLM介绍 现在你有了工程,就让我们开始介绍下工程所用到的开源库和为啥需要这些. The OpenGL Extension Wrangler (GLEW)是用来访问OpenGL ...
- Jquery制作--焦点图淡出淡入
之前写了一个焦点图左右轮播的,感觉淡出淡入用得也比较多,就干脆一起放上来啦.这个容器用了百分比宽度,图片始终保持居中处理,定宽或者自适应宽度都是可以的. 兼容到IE6+以上浏览器,有淡出淡入速度和切换 ...
- 在布局中使用android.support.v4.app.Fragment的注意事项
1.Activity必须继承android.support.v4.app.FragmentActivity 2.fragment标签的name属性必须是完全限定包名,如下: <LinearLay ...
- angularjs $scope.$apply 方法详解
myApp.controller('firstController',function($scope,$interval){ $scope.date = new Date(); setInterval ...
- java IO输入输出流中的各种字节流,字符流类
字节流字节流主要是操作byte类型数据,也byte数组为准,主要操作类就是·字节输出流:OutputStream·字节输入流:InputStream字符流在程序中一个字符等于2个字节,那么java提供 ...