1: 說(shuō)說(shuō)庫(kù)和框架的區(qū)別思瘟?
庫(kù)(Library簡(jiǎn)稱(chēng)Lib)环础,庫(kù)是封裝好的代碼囚似,通過(guò)調(diào)用開(kāi)放出來(lái)的API獲取相應(yīng)的功能,需要什么就從庫(kù)中調(diào)用什么线得,相對(duì)自由饶唤,不需要復(fù)雜的代碼和加工。類(lèi)似于工具贯钩,簡(jiǎn)化流程募狂。
框架(Framework),框架是為解決一個(gè)(一類(lèi))問(wèn)題而開(kāi)發(fā)的產(chǎn)品角雷,框架一般只需要使用框架提供的類(lèi)或函數(shù)祸穷,即可實(shí)現(xiàn)全部功能,使用框架時(shí)勺三,一般要使用這個(gè)框架的所有代碼雷滚。類(lèi)似于一個(gè)模板,內(nèi)部可根據(jù)不同需求檩咱,添加揭措、填充元素。
2: jquery 能做什么刻蚯?
jqery是一個(gè)快速的小的绊含,功能豐富的JS庫(kù),使用方便的API炊汹,擁有便捷的插件擴(kuò)展機(jī)制和豐富的插件躬充。定義了一套選擇器規(guī)則,和CSS選擇器目的一樣讨便,都是為了選擇出符合特定規(guī)則的元素充甚。
jQuery可以實(shí)現(xiàn)原生DOM元素的功能,提高效率霸褒,簡(jiǎn)化代碼伴找。
jQuery封裝了很好的API,可以方便的進(jìn)行事件處理废菱,解決了瀏覽器兼容的問(wèn)題技矮。
jQery的設(shè)計(jì)宗旨是“write less ,Do more”,即寫(xiě)很少的代碼抖誉,做更多的事情,它封裝JavaScript常用的功能代碼衰倦,提供一種簡(jiǎn)便的JavaScript設(shè)計(jì)模式袒炉,優(yōu)化HTML文檔操作、事件處理樊零、動(dòng)畫(huà)設(shè)計(jì)和Ajax交互我磁。
3: jquery 對(duì)象和 DOM 原生對(duì)象有什么區(qū)別?如何轉(zhuǎn)化驻襟?
jquery 對(duì)象是通過(guò) jquery 包裝DOM對(duì)象后產(chǎn)生的對(duì)象夺艰。
二者的區(qū)別是:1、jqery選擇器得到的jqery對(duì)象和標(biāo)準(zhǔn)的js中document.getElementByid()得到的dom對(duì)象是兩種不同的類(lèi)型塑悼。
2劲适、jquery無(wú)法使用DOM對(duì)象的任何方法(屬性),DOM對(duì)象也無(wú)法使用jquery的方法(屬性)厢蒜。
3霞势、jQuery對(duì)象是一個(gè)類(lèi)數(shù)組對(duì)象。代碼和操作更為簡(jiǎn)單斑鸦,兼容性更好愕贡。
二者轉(zhuǎn)化:
jQuery對(duì)象轉(zhuǎn)化成DOM對(duì)象,兩種轉(zhuǎn)換方式:[index]和.get(index)
var $btn=$("#btn")//jQuery對(duì)象巷屿;
var btn=$btn[0]//DOM對(duì)象固以;
var btn=$btn.get(0)//DOM對(duì)象;
DOM對(duì)象轉(zhuǎn)化成jQuery對(duì)象,只需要用$()把DOM對(duì)象包裝起來(lái)嘱巾,即可得到j(luò)Query對(duì)象
var btn=document.getElementById('#btn');//DOM對(duì)象
var $btn=$(btn);//jQuery對(duì)象
4:jquery中如何綁定事件憨琳?bind、unbind旬昭、delegate篙螟、live、on问拘、off
都有什么作用遍略?推薦使用哪種?使用on綁定事件使用事件代理的寫(xiě)法骤坐?
bind(type,[data],fn):為事件類(lèi)型綁定處理程序
unbind():注銷(xiāo)特定類(lèi)型的指定事件處理程序函數(shù)绪杏,只能注銷(xiāo)bind()和相關(guān)jquery方法注冊(cè)的事件處理程序。
delegate(selector,[type],fn)將監(jiān)聽(tīng)事件綁定在就近的父元素上纽绍,為被選的子元素添加一個(gè)或多個(gè)事件處理程序
live(type,[data],fn)綁定事件的方式和bind()一樣蕾久,但是并沒(méi)有將事件綁定到this上,而是利用了委托機(jī)制來(lái)完成事件的監(jiān)聽(tīng)處理拌夏,把節(jié)點(diǎn)的處理委托給了document,新添加元素的話不用重新綁定事件
on(type,[selector],[data],fn)將監(jiān)聽(tīng)事件綁定在就近的父元素上腔彰,為被選的子元素添加一個(gè)或多個(gè)事件處理程序
off(type,[selector],[data],fn)移除用on綁定的事件處理程序
其中叫编,bind、unbind霹抛、delegate、live都是jquery1.7之前的版本卷谈,現(xiàn)在推薦使用on和off
//普通事件綁定
$('div').on('click',function(){
console.log(this)});
//事件代理
$('div').on('click','span',function(){
console.log(this)});
5:jquery 如何展示/隱藏元素杯拐?
show()顯示出隱藏的元素
hide()隱藏元素
toggle()切換元素的可見(jiàn)狀態(tài),如果被選元素可見(jiàn)世蔗,則隱藏這些元素端逼,如果被選元素隱藏,則顯示這些元素
slideDown()以滑動(dòng)的方式隱藏元素
css的div的style屬性設(shè)置
var $box=$('.box');
$box.css('display','none');
$box.css('display','box');
6: jquery 動(dòng)畫(huà)如何使用污淋?
以下事件中:duration表示動(dòng)畫(huà)持續(xù)多久顶滩,easing表示過(guò)渡使用哪種緩動(dòng)函數(shù),jQuery自身提供swing和linear,complete在動(dòng)畫(huà)完成時(shí)執(zhí)行的函數(shù)寸爆。
1礁鲁、.hide/show/toggle([duration][,easing][,complete])隱藏/顯示/切換隱藏顯示元素。
2赁豆、.fadeIn/fadeOut/fadeToggle([duration][,easing][,complete])通過(guò)淡入的方式顯示匹配元素/淡出的方式隱藏元素/匹配元素的不透明度動(dòng)畫(huà)仅醇,來(lái)顯示或隱藏 .fadeTo(duration,opacity[,easing][,complete])調(diào)整匹配元素的不透明度做動(dòng)畫(huà)效果。
3魔种、.slideDown/slideUp/slideToggle([duration][,easing][,complete])析二,用滑動(dòng)動(dòng)畫(huà)顯示/隱藏/顯示或隱藏
4、.animate(properties[,duration][,easing][,complete])
5节预、.stop([clearQueue][,jumpToEnd])停止匹配元素當(dāng)前正在運(yùn)行的動(dòng)畫(huà)叶摄。
7:如何設(shè)置和獲取元素內(nèi)部 HTML 內(nèi)容?如何設(shè)置和獲取元素內(nèi)部文本安拟?
設(shè)置和獲取內(nèi)部HTML內(nèi)容
var html=$('#div').html();
$('#div').html('<div>hello world!</div>');
設(shè)置和獲取內(nèi)部文本內(nèi)容
var html=$('#div').text();
$('#div').text('<div>hello world!</div>');
8:如何設(shè)置和獲取表單用戶輸入或者選擇的內(nèi)容蛤吓?如何設(shè)置和獲取元素屬性?
設(shè)置和獲取表單用戶輸入或者選擇的內(nèi)容即獲取input的value值
var value=$('#username').val();
$('#username').val('hello');
設(shè)置和獲取元素屬性
var value=$('#username').val();
$('.class').attr('src','http:// ');
9: 使用 jquery實(shí)現(xiàn)如下效果

代碼 :http://js.jirengu.com/gamequxuto/1/edit?html,output
10:. 使用 jquery 實(shí)現(xiàn)如下效果
8-3-1.gif950x615 630 KB
Ps:當(dāng)點(diǎn)擊按鈕時(shí)使用如下數(shù)據(jù)
var products = [ { img: 'http://img10.360buyimg.com/N3/jfs/t2242/92/1446546284/374195/9196ac66/56af0958N1a723458.jpg', name: '珂蘭 黃金手 猴哥款', price: '¥405.00' },{ img: 'http://img10.360buyimg.com/N3/jfs/t2242/92/1446546284/374195/9196ac66/56af0958N1a723458.jpg', name: '珂蘭 黃金轉(zhuǎn)運(yùn)珠 猴哥款', price: '¥100.00' },{ img: 'http://img10.360buyimg.com/N3/jfs/t2242/92/1446546284/374195/9196ac66/56af0958N1a723458.jpg', name: '珂蘭 黃金手鏈 3D猴哥款', price: '¥45.00' }];