無(wú)標(biāo)題文章

標(biāo)準(zhǔn)輪播組件(PC,IPAD通用)

引言:針對(duì)以往每一個(gè)頁(yè)面都有一個(gè)輪播組件,而且交互細(xì)節(jié)都不相同的情況,配合需求和UI做了一個(gè)標(biāo)準(zhǔn)組件。

新組件有如下要求

1 輪播切換有三種效果,漸現(xiàn)漸現(xiàn),滑動(dòng)漸現(xiàn),直接切換。

2 必須可以配置合適的圖片懶加載。

3 必須可以配置動(dòng)態(tài)切換小圓點(diǎn),并且動(dòng)作也自動(dòng)切換時(shí)間同步。

5 能在IPAD上支持觸摸滑動(dòng)。

4 默認(rèn)的動(dòng)畫(huà)效果要柔和高大上,讓子游滿意。

5 調(diào)用方便,文檔齊全。

1 使用方法和樣例

1.0 組件調(diào)用配置介紹

需要引用組件的js,css文件:public/js/widget/mgslide-standard.js,public/css/widget/mgslide-standard.css

引用實(shí)例:appbeta\classes\controller\tuan\mact\mevent.php:117

// 引用輪播組件js,css,必須在page級(jí)的jscss前引用

$this->add_css('mgslide-standard.css','page','css/widget');

$this->add_script('mgslide-standard.js','foot','js/widget');

// 引用page級(jí)js,調(diào)用組件

$this->add_script('page-test-slide.js','foot','js3');

組件參數(shù)列表:

參數(shù)名稱作用描述默認(rèn)值參數(shù)值說(shuō)明

bannerBox輪播容器jquery對(duì)象null一般引用樣式名為輪播容器

isLazyImage是否需要圖片懶加載falsetrue -- 需要懶加載

false -- 不需要懶加載

autoTime設(shè)置自動(dòng)切換事件間隔falsefalse -- 輪播無(wú)自動(dòng)切換

4000(數(shù)字) -- 間隔4000毫秒切換一次

數(shù)字間隔最小值為1000毫秒

isTouchTurn是否開(kāi)啟觸屏支持truetrue -- 開(kāi)啟觸屏支持

false -- 關(guān)閉觸屏支持

一般不設(shè)置該參數(shù),默認(rèn)支持觸屏

turnMode輪播切換方式"normal""normal" -- 直接切換

"slideFade" -- 滑動(dòng)漸現(xiàn)切換

"fade" -- 漸隱漸現(xiàn)(推薦使用)

"slide" -- 滑動(dòng)切換

transDurationfade,slide模式下的切換漸變時(shí)間500毫秒為單位

一般不設(shè)置該參數(shù),使用默認(rèn)值

addTurnBtn配置上一張,下一張按鈕falsefalse -- 不添加默認(rèn)按鈕

"default" -- 添加默認(rèn)按鈕

addTurnDot配置切換小圓點(diǎn)falsefalse -- 不添加默認(rèn)小圓點(diǎn)

"default" -- 添加默認(rèn)小圓點(diǎn)

"animDot" -- 添加默認(rèn)動(dòng)態(tài)小圓點(diǎn)

首屏dabanner推薦用animDot

callback切換回調(diào)函數(shù)空方法function(){}傳入function(index),

index代表要將切換到banner的ind

測(cè)試demo地址:http://www.mogujie.lanpang/tuan/mact/mevent/testslidepc

demoView:appbeta/views/webdemo/lanpang/demo-slide-pc.php

demojs :public/js3/src/page-test-slide.js

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.1 基本調(diào)用實(shí)例

首先我們先實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的實(shí)例,一個(gè)間隔4s自動(dòng)切換的輪播

PHP實(shí)例代碼:appbeta\views\webdemo\lanpang\demo-slide-pc.php:15

<?php // 設(shè)置父容器寬高 ?>

<style>.mslide_content_box { width: 1158px; height:536px; }</style>

<h2>一個(gè)最基本的調(diào)用實(shí)例</h2>

<?php // 輪播容器 ?>

<div class="mslide_content_box" id="pc_banner_default">

<?php // banners容器 ?>

<div class="mslide_banners">

<?php // 第一個(gè)banner輸出樣式mslide_banner_show ?>

<a class="mslide_banner mslide_banner_show" href="#" target="_blank">

<img src="http://img.fashionpia.com/images/exhibit/M_1265.jpg" alt=""/>

</a>

<a class="mslide_banner" href="#" target="_blank">

<img src="http://img.fashionpia.com/images/exhibit/M_1266.jpg" alt=""/>

</a>

<a class="mslide_banner" href="#" target="_blank">

<img src="http://img.fashionpia.com/images/exhibit/M_1261.jpg" alt=""/>

</a>

</div>

</div>

js實(shí)例代碼 :public/js3/src/page-test-slide.js :11

// 獲取輪播容器

var bannerPcDefault = $('#pc_banner_default');

// 初始化輪播

var MSliderDefault = new MOGU.MSlider({

bannerBox : bannerPcDefault,

autoTime : 4000 //設(shè)置間隔時(shí)間4s

});

實(shí)現(xiàn)效果:

使用注意:

1 默認(rèn)樣式名要對(duì)應(yīng)好,輪播容器對(duì)應(yīng) mslide_content_box,banners容器對(duì)應(yīng)mslide_banners,單個(gè)標(biāo)簽對(duì)應(yīng)mslide_banner,并且當(dāng)前默認(rèn)顯示的banner樣式要加上。

2 autoTime設(shè)置不能小于1000,如果小于1000代碼里會(huì)默認(rèn)重置到1000ms。

3 忘記設(shè)置父容器mslide_content_box的寬高。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.2 給banner圖添加合適懶加載AND選擇banner切換效果

實(shí)現(xiàn)這個(gè)也非常簡(jiǎn)單,只要把圖片鏈接放到banner標(biāo)簽的img-url屬性里,然后js里設(shè)置isLazyImage就行了

PHP實(shí)例代碼:appbeta\views\webdemo\lanpang\demo-slide-pc.php:35

<h2>實(shí)現(xiàn)banner圖片的懶加載</h2>

<?php // 輪播容器 ?>

<div id="pc_banner_lasyimg" class="mslide_content_box">

<?php // banners容器 ?>

<div class="mslide_banners">

<?php // 第一個(gè)banner輸出樣式mslide_banner_show,輸出對(duì)象 href--banner落地鏈接,img-url -- 圖片src地址 ?>

<a class="mslide_banner mslide_banner_show" href="#" target="_blank"

img-url="http://img.fashionpia.com/images/exhibit/M_1265.jpg"></a>

<a class="mslide_banner" href="#" target="_blank"

img-url="http://img.fashionpia.com/images/exhibit/M_1266.jpg"></a>

<a class="mslide_banner" href="#" target="_blank"

img-url="http://img.fashionpia.com/images/exhibit/M_1261.jpg"></a>

</div>

</div>

js實(shí)例代碼 :public/js3/src/page-test-slide.js :21

// 獲取輪播容器

var bannerPcLasyimg = $('#pc_banner_lasyimg');

// 初始化輪播

var MSliderLasyimg = new MOGU.MSlider({

bannerBox : bannerPcLasyimg,

autoTime : 4000,

isLazyImage : true //設(shè)置開(kāi)啟banner圖懶加載

});

實(shí)現(xiàn)效果:圖略,banner圖加載好后漸隱漸現(xiàn)出現(xiàn),防止圖片太大太多首屏卡死

使用注意:

1 img-url要放在對(duì)應(yīng)的mslide_banner標(biāo)簽上。

2 現(xiàn)在相關(guān)應(yīng)用場(chǎng)景都是給mslide_banner標(biāo)簽加上對(duì)應(yīng)的底色(運(yùn)營(yíng)填寫(xiě)colorCode,例style="background:#4E55Ff"),這樣圖片漸隱加載的時(shí)候效果最好。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.3 添加默認(rèn)上下一張按鈕和切換小圓點(diǎn)

添加按鈕盒小圓點(diǎn)為全站的默認(rèn)樣式,如果有需要可以通過(guò),在自己的page級(jí)css覆蓋樣式名進(jìn)行修改

PHP實(shí)例代碼:appbeta\views\webdemo\lanpang\demo-slide-pc.php:49

<h2>添加默認(rèn)上下一張按鈕和切換小圓點(diǎn)</h2>

<?php // 輪播容器 ?>

<div id="pc_banner_addtrigger" class="mslide_content_box">

<?php // banners容器 ?>

<div class="mslide_banners">

<?php // 第一個(gè)banner輸出樣式mslide_banner_show,輸出對(duì)象 href--banner落地鏈接,img-url -- 圖片src地址 ?>

。。。略。。。

</div>

</div>

js實(shí)例代碼 :public/js3/src/page-test-slide.js

// 獲取輪播容器

var bannerPcAddTrigger = $('#pc_banner_addtrigger');

// 初始化輪播

var MSliderAddTrigger = new MOGU.MSlider({

bannerBox : bannerPcAddTrigger,

autoTime : 4000,

isLazyImage : true,

addTurnBtn : "default",//設(shè)置添加默認(rèn)切換按鈕

addTurnDot : "default" //設(shè)置添加默認(rèn)切換小圓點(diǎn)

});

實(shí)現(xiàn)效果:

使用注意:

組件自動(dòng)添加的按鈕和小圓點(diǎn)是默認(rèn)樣式,有可以按照其樣式名來(lái)覆蓋,下面是默認(rèn)按鈕,小圓點(diǎn)的html。

<?php // 上一張,下一張按鈕 ?>

<a class="msilde_toggle_btn msilde_prev_btn" href="javascript:;" title="上一張"></a>

<a class="msilde_toggle_btn msilde_next_btn" href="javascript:;" title="下一張"></a>

<?php // 切換小圓點(diǎn) ?>

<?php

// 圖片個(gè)數(shù)

$imageNum = 3;

?>

<?php // 計(jì)算輸出負(fù)值magin-left,確保居中 ?>

<div class="msilde_dot_box clearfix" style="margin-left:-<?php zecho($imageNum*8);?>px">

<?php for($i=0;$i<$imageNum;$i++) {?>

<a href="javascript:;" class="dot_default <?php if($i==0) zecho('dot_show');?> fl"></a>

<?php } ?>

</div>

擴(kuò)展--動(dòng)態(tài)小圓點(diǎn)的實(shí)現(xiàn):

js實(shí)例代碼 :public/js3/src/page-test-slide.js

// 獲取輪播容器

var bannerPcAddTrigger2 = $('#pc_banner_addtrigger2');

// 初始化輪播

var MSliderAddTrigger2 = new MOGU.MSlider({

bannerBox : bannerPcAddTrigger2,

autoTime : 4000,

isLazyImage : true,

turnMode : "slideFade",

addTurnBtn : "default",

addTurnDot : "animDot" //設(shè)置添加動(dòng)態(tài)切換小圓點(diǎn)

});

實(shí)現(xiàn)效果:

使用注意:

小圓點(diǎn)會(huì)根據(jù)自動(dòng)切換的時(shí)間來(lái)同步轉(zhuǎn)動(dòng),但是假如自動(dòng)切換autoTime設(shè)為false,小圓點(diǎn)的轉(zhuǎn)動(dòng)周期變?yōu)槟J(rèn)的5s。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.4 banner切換回調(diào)的使用

需求中經(jīng)常會(huì)需要同步變背景色,或則同步自定義的banner顯示按鈕,所組件提供一個(gè)返回banner的index回調(diào)函數(shù)

PHP實(shí)例代碼:appbeta\views\webdemo\lanpang\demo-slide-pc.php:77

<h2>banner切換回調(diào)的使用:當(dāng)前banner的ind為<span id="bannerInd">0</span></h2>

<?php // 輪播容器 ?>

<div id="pc_banner_callback" class="mslide_content_box">

。。。。略。。。。

</div>

js實(shí)例代碼 :public/js3/src/page-test-slide.js

// 獲取輪播容器

var bannerPcCallBack = $('#pc_banner_callback');

// 初始化輪播

var MSliderCallBack = new MOGU.MSlider({

bannerBox : bannerPcCallBack,

autoTime : 4000,

isLazyImage : true,

turnMode : "slide",

addTurnBtn : "default",

addTurnDot : "default",

callback : function(index) {

// 回調(diào),同步顯示title中ind值

$('#bannerInd').text(index);

}

});

實(shí)現(xiàn)效果:

使用注意:

觸發(fā)回調(diào)時(shí)間點(diǎn)是banner切換開(kāi)始,而不是banner切換結(jié)束。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,238評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,430評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,134評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 62,893評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,653評(píng)論 6 408
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,136評(píng)論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,212評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,372評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,888評(píng)論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,738評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,939評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,482評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,179評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,588評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,829評(píng)論 1 283
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,610評(píng)論 3 391
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,916評(píng)論 2 372

推薦閱讀更多精彩內(nèi)容

  • 標(biāo)準(zhǔn)輪播組件(PC,IPAD通用) 引言:針對(duì)以往每一個(gè)頁(yè)面都有一個(gè)輪播組件,而且交互細(xì)節(jié)都不相同的情況,配合需求...
    晴天的微風(fēng)閱讀 360評(píng)論 0 1
  • jHipster - 微服務(wù)搭建 CC_簡(jiǎn)書(shū)[http://www.lxweimin.com/u/be0d56c4...
    quanjj閱讀 823評(píng)論 0 2
  • WebView·開(kāi)車指南 2016-08-31BugDev 北京市東城區(qū)首席Bug布道師開(kāi)山之作,一整月交通事故血...
    53c021c38a1d閱讀 844評(píng)論 0 1
  • 洛陽(yáng)的工程結(jié)束后,我隨老總到了鄭州,到了那兒我才對(duì)自己的工作有了清晰的認(rèn)識(shí),也走過(guò)了極為艱難的出版之路! ...
    路重坡閱讀 267評(píng)論 0 0
  • 開(kāi)會(huì)是研討一個(gè)結(jié)果的過(guò)程,在過(guò)程中主題表達(dá)明確,有條不紊,簡(jiǎn)單明快,迅速結(jié)尾。減少不必要的時(shí)間成本,樹(shù)立良好的時(shí)間觀念。
    孫倩倩Rela閱讀 163評(píng)論 0 0