上一篇文中完成的封裝,還存在一個(gè)小問(wèn)題,就是該輪播對(duì)象不能在同一頁(yè)面中重復(fù)使用,本文將通過(guò)組合使用javascript的構(gòu)造函數(shù)和原型模式創(chuàng)建對(duì)象來(lái)解決這個(gè)問(wèn)題。
沒(méi)有看過(guò)上一篇文章的朋友可以點(diǎn)此查看上一篇文章 (jQuery圖片輪播(一)輪播實(shí)現(xiàn)并封裝)
首先回顧一下,上文的問(wèn)題所在,上文中的carsouel對(duì)象是采用字面量的方式來(lái)定義的,這樣carsouel本就是一個(gè)實(shí)例,想要使用在多處時(shí),這個(gè)對(duì)象的方法會(huì)發(fā)生沖突,最終只會(huì)執(zhí)行最后的那一個(gè)。而通過(guò)采用構(gòu)造函數(shù)的方式來(lái)定義對(duì)象carsouel,每次需要使用時(shí)只需要用new操作符來(lái)實(shí)例化一個(gè)新對(duì)象,頁(yè)面中需要幾處輪播就實(shí)例化幾個(gè)對(duì)象,這樣就可以滿(mǎn)足需求。所以,將代碼改成以下形式。
function Carousel()0; this.hasStarted = this.interval = this.liItems = this.len = 0; this.aBox : this.bBox : &