swiper首屏內(nèi)結(jié)構(gòu)元素的點(diǎn)擊事件

特點(diǎn)

該方案可以捕捉到swiper單屏內(nèi)點(diǎn)擊不同元素的事件卑吭。常用方式使用swiper只能說(shuō)判斷到點(diǎn)擊了第幾屏芽淡,并不能判斷點(diǎn)擊了第幾屏里的哪一個(gè)元素并傳遞數(shù)據(jù)觸發(fā)對(duì)應(yīng)事件執(zhí)行。特別是首屏陨簇,因?yàn)榈谝黄恋慕Y(jié)構(gòu)是swiper復(fù)制多出的一屏沒(méi)有綁定click的方法吐绵。(此處特指循環(huán)輪播的swiper)

效果

image.png

代碼

<template>
  <!-- E網(wǎng)點(diǎn) -->
  <div class="test">

    <!-- 詳情內(nèi)容 -->
    <div class="ads-swiper-box"
         v-if="swiperOption">
      <swiper :options="swiperOption"
              class="swiper-container"
              v-if="list.length>0">
        <!-- slides -->
        <swiper-slide class="swiper-item"
                      v-for="(item,index) in list"
                      :key="index"
                      :style="'height:120px;width:100%;background-color:'+item.bgc+';'"
                      data-clickmehtod="clickSlide">
          <div data-clickmehtod="handleEvent1"
               class="btn">按鈕1</div>
          <div data-clickmehtod="handleEvent2"
               class="btn">按鈕2</div>
          <div data-clickmehtod="handleEvent3"
               class="btn">按鈕3</div>
        </swiper-slide>
        <div class="swiper-pagination"
             slot="pagination"></div>
      </swiper>

    </div>

  </div>
</template>

<script>
export default {
  data () {
    return {
      list: [{ 'bgc': 'red' }, { 'bgc': 'yellow' }, { 'bgc': 'green' }],
      swiperOption: null
    };
  },
  mounted () {
    var that = this

    that.swiperOption = {
      pagination: {
        el: ".swiper-pagination"
      },
      slidesPerView: 1,
      autoplay: {
        delay: 3000,
        disableOnInteraction: false
      },
      spaceBetween: 30,
      loop: true,
      on: {
        click: function (e) {//此處不能為箭頭函數(shù),保證函數(shù)內(nèi)this指向swiper
          // this.realIndex 獲取真正的屏頁(yè)索引
          var realIdx = this.realIndex
          var item = that.list[realIdx]

          // 獲取屬性綁定的函數(shù)名
          var fn = that[e.target.dataset.clickmehtod]
          if (fn && typeof fn === 'function') {
            fn(item,realIdx)
          }
        }
      }
    }


  },
  methods: {
    clickSlide (item,realIdx) {
      // 點(diǎn)擊第realIdx屏河绽,數(shù)據(jù)item
      console.log('clickSlide', item);
    },
    handleEvent1 (item,realIdx) {
      // 點(diǎn)擊第realIdx屏的按鈕1己单,數(shù)據(jù)item
      console.log('handleEvent1', item);
    },
    handleEvent2 (item,realIdx) {
      // 點(diǎn)擊第realIdx屏的按鈕2,數(shù)據(jù)item
      console.log('handleEvent2', item);
    },
    handleEvent3 (item,realIdx) {
      // 點(diǎn)擊第realIdx屏的按鈕3耙饰,數(shù)據(jù)item
      console.log('handleEvent3', item);

    }

  }
};
</script>

<style lang="scss" scoped>
.btn {
  margin: 0 auto;
  height: 40px;
  width: 80px;
  line-height: 40px;
  border: 1px solid #333;
}
</style>


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纹笼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子苟跪,更是在濱河造成了極大的恐慌廷痘,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件件已,死亡現(xiàn)場(chǎng)離奇詭異笋额,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)篷扩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門兄猩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事枢冤○蹋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵淹真,是天一觀的道長(zhǎng)讶迁。 經(jīng)常有香客問(wèn)我,道長(zhǎng)核蘸,這世上最難降的妖魔是什么巍糯? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮客扎,結(jié)果婚禮上鳞贷,老公的妹妹穿的比我還像新娘。我一直安慰自己虐唠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布惰聂。 她就那樣靜靜地躺著疆偿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搓幌。 梳的紋絲不亂的頭發(fā)上杆故,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音溉愁,去河邊找鬼处铛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拐揭,可吹牛的內(nèi)容都是我干的撤蟆。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼堂污,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼家肯!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起盟猖,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤讨衣,失蹤者是張志新(化名)和其女友劉穎蚪腋,沒(méi)想到半個(gè)月后较鼓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體肩民,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡汽纤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年绑咱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锈死。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泊碑。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡种吸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辆亏,到底是詐尸還是另有隱情风秤,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布扮叨,位于F島的核電站缤弦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏彻磁。R本人自食惡果不足惜碍沐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衷蜓。 院中可真熱鬧累提,春花似錦、人聲如沸磁浇。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)置吓。三九已至无虚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間衍锚,已是汗流浹背友题。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留戴质,地道東北人度宦。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像告匠,于是被迫代替她去往敵國(guó)和親戈抄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361