1. 程式人生 > >自己寫的vue無限輪播外掛

自己寫的vue無限輪播外掛

new Vue({ el:'#app', data:{ originalData:{ img_width:350, img_height:350, btn_width:40, btn_height:40, num:4, delay:300 }, isTrans:true
,//因為到最後一張圖片,index為1時,需要立即跳到第二張index也為1的圖片,這個用來是否給出transition index:1, timer:null,//setInterval clickdelay:false//用來防止連續點選 }, methods:{ next(){ if(this.clickdelay){ return } this
.clickdelay=true if(this.index==this.originalData.num){ this.index=1 }else{ this.index+=1 } this.animate(this.originalData.img_width) }, prev(){ if
(this.clickdelay){ return } this.clickdelay=true if(this.index==1){ this.index=this.originalData.num }else{ this.index-=1 } this.animate(-this.originalData.img_width) }, animate(offset){ var node=this.$refs.wrapperContent var self=this; var left=parseInt(node.style.left)-offset this.isTrans=true node.style.left=left+'px' setTimeout(function(){ if(left<-(self.originalData.num*self.originalData.img_width)){ self.isTrans=false node.style.left=-self.originalData.img_width+'px' self.clickdelay=false //當到達最後一張圖片時 } if(left>-100){ self.isTrans=false node.style.left=-self.originalData.num*self.originalData.img_width+'px' self.clickdelay=false //當到達第一張圖片時 } },this.originalData.delay) }, play(){ var self=this; this.timer=setInterval(function(){ self.next() },2000) }, stop(){ this.clickdelay=false//用來防止連續點選 clearInterval(this.timer) this.timer=null }, turnTo(flag){ if(flag==this.index){ return }else{ var offset=(flag-this.index)*this.originalData.img_width this.index=flag this.animate(offset) } } }, mounted(){ /*下面是判斷過渡動畫是否完成*/ var node=this.$refs.wrapperContent var transitions = { 'transition':'transitionend', 'OTransition':'oTransitionEnd', 'MozTransition':'transitionend', 'WebkitTransition':'webkitTransitionEnd' } var self=this for(var t in transitions){ if( node.style[t] !== undefined ){ var transitionEvent=transitions[t]; } } transitionEvent && node.addEventListener(transitionEvent, function() { self.clickdelay=false }); this.play() } })

相關推薦

自己vue無限外掛

new Vue({ el:'#app', data:{ originalData:{ img_width:350, img_heig

vue文字外掛

目前看到有用的外掛就會保留,不為別的,就是想以後遇到同樣的問題能及時高效的解決,前兩天分享了app專案中的文字輪播。今天搞下vue中的吧,以便後用。 1、安裝這個外掛 npm i vue-seamless-scroll --save &nbs

vue中插入swiper外掛

建立vue專案流程這裡就不用廢話了吧?還不知道就在我前幾篇中有寫。今天我們的大屏專案中有了一個新的需求,資料模組的切換,毫無疑問,swiper外掛不二之選。原生的寫法官網直接給了,那麼這裡介紹一下在vue中使用swiper外掛的方法。<link rel="stylesh

vue中引用swiper外掛

有時候我們需要在vue中使用輪播元件,如果是在vue元件中引入第三方元件的話,最好通過npm安裝,從而進行統一安裝包管理。 申明:本文所使用的是vue.2x版本。 通過npm安裝外掛: npm install swiper --save-dev 在需要使用swiper的元件裡引入swiper

VUE 安裝 外掛vue-awesome-swiper)

npm install vue-awesome-swiper--save//import 引入import Vue from 'vue'import VueAwesomeSwiper from 'vue-awesome-swiper'<template>    <div>    &l

Vue專案中vue-awesome-swiper外掛使用例項:

源自開源專案:http://github.crmeb.net/u/blue 1,引入外掛 import { swiper, s

:js圖 鼠標劃過下方按鈕,繼續下一個

就會 定時器 pac color lis hover 路線 css 輪播圖 自寫:js輪播圖 鼠標劃過下方按鈕,繼續下一個 定時器關閉後再開啟一般都會按照原來的路線繼續走,不會因為你點了3而下個就會是4 $(".focus-rad>ul>li").hover(

studio無限

example save log http stack studio thum cte put <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http:

vue-awsome-swiper做vue步驟

1、首先進入百度開啟vue-awsome-swiper-npm 2、在小黑窗中敲 npm install vue-awesome-swiper --save 3、將以下程式碼引入到資料夾中的main.js中 import VueAwesomeSwiper from 'vue-awesom

無限+字幕改變+小圓點聯動

xml標題 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:lay

Bootstrap學習日記之外掛

輪播外掛概述   當你在瀏覽某些很酷的網站時,你會注意到好的網站都有這麼一個功能,圖片或者視訊在首頁位置,如幻燈片一樣,在輪播。 在Bootstrap中也有支援輪播的外掛carousel。這是一種非常靈活的響應式的向站點新增滑塊的方式,它可放置一切內容,如圖片視訊框架等。 建立

自動無限廣告欄

自動滑動廣告欄是比較常用的功能之一,方法一是使用的是一個第三方工具AutoScrollViewPager,方法二使用的是自定義控制元件實現需要的要求. 1.AutoScrollViewPager 第三方庫,github地址: https://github.com/Trinea/an

vue實現

<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"

Viewpager無限+XlistView

前提 寫許可權 <uses-permission android:name="android.permission.INTERNET"/> 寫name屬性 android:name=".App" 寫依賴 或導xlistview module NewsBean

FlyBanner無限

新增依賴 dependencies { compile 'com.recker.flybanner:flybanner:1.3' } MainActivity import android.os.Bundle; import android.support.v7.app

RN無限

這裡我使用的是一個第三方的外掛react-native-swiper 具體可以參考https://www.npmjs.com/package/react-native-swiper 效果圖   使用: $ npm i react-native-swiper --save

側滑+多條目+上拉載入+下拉重新整理+無限+網路判斷

1.MainActivity頁面 package com.example.week2_02; import android.content.DialogInterface; import android.content.Intent; import android.support.v4

Xlistview上拉重新整理下拉載入+listview多條目無限

1.MainActivity頁面 package com.example.week2_01; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.o

vue圖的實現

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <meta name="viewp

Banner無限

Banner無限輪播 1、匯入依賴 compile ‘com.youth.banner:banner:1.4.9’ 2、新增許可權: 一、佈局檔案: <?xml version="1.0" encoding="utf-8"?> <android.suppor