题目1: 说说库和框架的区别?
库是一个数据仓库,里面放了各种可以利用的API,由于库的内部已经做了各种底层的封装和各种兼容实现,因此可以调用提供的API接口来实现我们需要的功能,而不需要复杂的代码和加工,因此使代码得到优化,效率提高。
框架相当于一个模板,用来搭建一个项目的最基层的部分,框架内部可以根据不同项目的需要填入不同的内容。
2,jQuery 能做什么?
将原生DOM元素的功能实现并且满足良好的兼容性,最重要的是,可以简化代码,用更少的代码做更多的事情。jquery是一个丰富的js库,内部对js的很多复杂的方法进行了封装和加工,比如js很多方法名很冗长,jquery封装后方法就变得简便了,也考虑到了跨浏览器兼容问题,不需要花费大量时间来兼容低版本浏览器。
3, jquery 对象和 DOM 原生对象有什么区别?如何转化?
DOM对象是我们用传统的方法(javascript)获得的对象,jQuery对象就是用jQuery的类库选择器获得的对象。
转化方法:
DOM原生对象转换为jQuery对象:
$div = $(document.getElementById('btn'))
jQuery对象转换为DOM原生对象:
div = $('#btn')[0]
4.jquery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?
jQuery 提供了四种事件监听的方式,分别为bind、live、delegate、on,
- bind(type, [data], function(eventObject)),type是事件类型,data是传入的监听函数的参数,function:监听函数。unbind就是解绑事件。
2.live这种方式(如$(“a”).live(type,function(){})),把监听函数绑定在$(document)对象上,每次有事件触发时,通过事件冒泡,$(document)会首先接收到,并且判断target是否是目标元素,事件类型是否是该类型(type),都是的话执行监听事件。但是如果dom树结构比较深,点击的目标需要通过层层遍历经历事件冒泡到达顶端,性能低,开销大。
3.delegate,实现指定代理对象(如$(".div1").delegate(“a”,type,function(){})),这样代理方从$(document)对象变成了一个更具体的$(".div1")对象,减少了查找范围,缩短了冒泡旅程,比live更精确,效率高。
4.on这种方式把以上三种方法做了统一(如$(".div1").on(type,“a”,,function(){}),注意第二个参数是个子元素选择标签),对应的off是移除事件绑定的方式,在jquery的新的版本上都是支持的,也是现在比较推荐的写法
题目5:jquery 如何展示/隐藏元素?
1.通过hide函数和show函数来显示和隐藏,hide和show函数在隐藏或者显示后,执行回调函数。比如:
$('#id').hide('slow', function() {
alert('123.');
} //在隐藏完毕后,alert123
2.通过添加删除active类来展示隐藏元素
题目6: jquery 动画如何使用?
$(selector).animate({params},speed,callback);
$("#go").click(function(){
$("#block").animate({
width: "70%",
opacity: 0.4,
marginLeft: "0.6in",
fontSize: "3em",
borderWidth: "10px"
}, 1500 );
});
必需的 params 参数定义形成动画的 CSS 属性。
可选的 speed 参数规定效果的时长。它可以取以下值:“slow”、“fast” 或毫秒。
可选的 callback 参数是动画完成后所执行的函数名称。
当动画 100% 完成后,即调用回调函数 Callback,可选。
题目7:如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
$(selector).text() - 设置或返回所选元素的文本内容
$(selector).html() - 设置或返回所选元素的内容(包括 HTML 标记)
如果要输入值,就在括号里直接输入,比如$(selector).text('这是我要输入的')
题目8:如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?
$('input').val()//获取值
$('input').val('123')//设置值
$('img').attr('src')//获取属性
$('img').attr('src',newSrc)//设置属
题目9: 使用 jquery实现如下效果
题目10:. 使用 jquery 实现如下效果
题目11:实现如下效果
题目10 和题目11 效果坐在了一起
10 11题效果合并