JS 知识点收集
setInterval
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。setInterval() 的返回值返回
一个可以传递给 Window.clearInterval()的参数, 从而取消对 code 的周期性执行的值。jQuery动画效果animate和scrollTop结合使用实例
animate是jq的一个特效的函数方法,animate() 方法执行 CSS 属性集的自定义动画。该方法通过CSS样式将元素从一个状态改变为另一个状态。
CSS属性值是逐渐改变的,这样就可以创建动画效果。
只有数字值可创建动画(比如 "margin:30px")。
字符串值无法创建动画(比如 "background-color:red")。
$('#shang').click(function(){$('html,body').animate({scrollTop: '0px'}, 800);});
上面的代码表示滚动条跳到0的位置,页面移动速度是800。
结合scrollTop实用示例:
jQuery(document).ready(function($){
$('#shang').click(function(){
$('html,body').animate({scrollTop: '0px'}, 800);
});
$('#comt').click(function(){
$('html,body').animate({scrollTop:$('#comments').offset().top}, 800);
});
$('#xia').click(function(){
$('html,body').animate({scrollTop:$('#footer').offset().top}, 800);
});
});
表示点击相关ID移动到指定位置:
点击ID为shang的元素,回到顶部;
点击ID为comt的元素,回到ID为comments的位置;
点击ID为xia的元素,回到底部;
$('.chat-content').animate({
scrollTop: $('.chat-content')[0].scrollHeight}, 500
);//这个实现 chat-content里的内容不断增加,滚动条下滚获取时间
var d = new Date();
var send_time = d.getHours() + ":"+ d.getMinutes() + ":"+ d.getSeconds();JSON
str = JSON.parse(jsonstr) 解析 json格式字符串
JSON.stringify(str) 生成json格式字符串
parseInt parseFloat
bind、delegate、on
bind是将事件绑定到某个或某种元素上,它不能绑定到尚未存在的元素上;
delegate 采用了事件委托的概念。不是直接为某个元素绑定事件,而是为其父元素(或祖先元素也可)绑定事件,如:
$("div").delegate("p", "click", function () {
alert($(this).text());
});
当在此例中的div元素父内任意元素上点击时,事件会一层层从event target向上冒泡,直至到达你 为其绑定事件的元素P,冒泡的过程中,如果事件的currentTarget与选择器匹配时,就会执行代码。
这样就解决了用bind()方法的上面两个问题,不用再一个个地去为p元素绑定事件,也可以为动态添加进来的p元素绑定。甚至,如果你将事件绑定到document上,都不用等document准备好就可执行绑定。但是,如果层数太多,会影响到性能
on 是 JQUERY 1.7 后官方建议的方式,
$("div").on("click","p",function(){
alert($(this).text());
})
对应于bind()、delegate()和on()绑定方法,其移除事件的方法分别为:
$( "div p" ).unbind( "click", handler );
$( "div" ).undelegate( "p", "click", handler );
$( "div" ).off( "click", "p", handler );
选择器匹配到的元素比较多时,不要用bind()迭代绑定
用id选择器时,可以用bind()
需要给动态添加的元素绑定时,用delegate()或者on()
用delegate()和on()方法,dom树不要太深
尽量使用on()
用delegate来监测某个键是否按下以执行特殊方法监测body 下texarea有没有敲回车 键
$("body").delegate("textarea", "keydown",function(e){
if(e.which == 13) {//Enter key down
aler( $("textarea").val());
} });//end body
7. 去掉focus的边框
a:focus {
outline:none;
}
8.javascript 没有trim功能,jquery有
str=' abc '
$.trim(str) // str='abc'