Skip to content

Commit

Permalink
reformat
Browse files Browse the repository at this point in the history
  • Loading branch information
FrankFang committed Apr 15, 2017
1 parent f330f46 commit a1aae88
Show file tree
Hide file tree
Showing 5 changed files with 132 additions and 118 deletions.
41 changes: 20 additions & 21 deletions lib/bom/index.js
Original file line number Diff line number Diff line change
@@ -1,40 +1,39 @@
let bom = {
queryString: {
get: function(name){
let getAll = (searchString)=>{
get: function(name) {
let getAll = searchString => {
let query = searchString.replace(/^\?/, '')
let queryObject = {}
let queryArray = query.split('&').filter((i)=>i)
.forEach((string,index)=>{
let parts = string.split('=')
queryObject[parts[0]] = decodeURIComponent(parts[1])
})
let queryObject = {}
let queryArray = query.split('&').filter(i => i).forEach((string, index) => {
let parts = string.split('=')
queryObject[parts[0]] = decodeURIComponent(parts[1])
})
return queryObject
}
if(arguments.length === 0){
if (arguments.length === 0) {
return getAll(location.search)
}else{
} else {
return getAll(location.search)[name]
}
},
set: function(name, value){
let set = (search, name,value)=>{
let regex = new RegExp(`(${encodeURIComponent(name)})=([^&]*)`,'')
if(regex.test(search)){
return search.replace(regex, (match,c1, c2)=> `${c1}=${encodeURIComponent(value)}`)
}else{
set: function(name, value) {
let set = (search, name, value) => {
let regex = new RegExp(`(${encodeURIComponent(name)})=([^&]*)`, '')
if (regex.test(search)) {
return search.replace(regex, (match, c1, c2) => `${c1}=${encodeURIComponent(value)}`)
} else {
return search.replace(/&?$/, `&${encodeURIComponent(name)}=${encodeURIComponent(value)}`)
}
}
if(arguments.length === 1 && typeof name === 'object' && name !== null){
if (arguments.length === 1 && typeof name === 'object' && name !== null) {
let search = location.search
for(let key in arguments[0]){
for (let key in arguments[0]) {
search = set(search, key, arguments[0][key])
}
location.search = search
}else{
location.search = set(location.search, name,value)
} else {
location.search = set(location.search, name, value)
}
},
}
},
}
50 changes: 28 additions & 22 deletions lib/dom/index.js
Original file line number Diff line number Diff line change
@@ -1,37 +1,43 @@
let dom = {
on:function (element, eventType, selector, fn){
element.addEventListener(eventType, (e)=>{
on: function(element, eventType, selector, fn) {
element.addEventListener(eventType, e => {
let el = e.target
while (el && !el.matches(selector)) {
el = el.parentNode
if(element === el){ el = null }
if (element === el) {
el = null
}
}
if (el) {
fn.call(el, e, el)
}
if(el){ fn.call(el, e, el) }
})
return element
},

onSwipe: function(element, fn){
onSwipe: function(element, fn) {
let x0, y0
element.addEventListener('touchstart', function(e){
element.addEventListener('touchstart', function(e) {
x0 = e.touches[0].clientX
y0 = e.touches[0].clientY
})
element.addEventListener('touchmove', function(e){
if(!x0 || !y0){return}
element.addEventListener('touchmove', function(e) {
if (!x0 || !y0) {
return
}
let xDiff = e.touches[0].clientX - x0
let yDiff = e.touches[0].clientY - y0

if(Math.abs(xDiff) > Math.abs(yDiff)){
if(xDiff > 0){
if (Math.abs(xDiff) > Math.abs(yDiff)) {
if (xDiff > 0) {
fn.call(element, e, 'right')
}else{
} else {
fn.call(element, e, 'left')
}
}else{
if(yDiff > 0){
} else {
if (yDiff > 0) {
fn.call(element, e, 'down')
}else{
} else {
fn.call(element, e, 'up')
}
}
Expand All @@ -40,26 +46,26 @@ let dom = {
})
},

index:function (element){
index: function(element) {
let siblings = element.parentNode.children
for(let index=0; index<siblings.length; index++){
if(siblings[index] === element){
for (let index = 0; index < siblings.length; index++) {
if (siblings[index] === element) {
return index
}
}
return -1
},

uniqueClass:function (element, className){
dom.every(element.parentNode.children, (el)=>{
uniqueClass: function(element, className) {
dom.every(element.parentNode.children, el => {
el.classList.remove(className)
})
element.classList.add(className)
return element
},

every: function(nodeList, fn){
for(var i=0; i<nodeList.length; i++){
every: function(nodeList, fn) {
for (var i = 0; i < nodeList.length; i++) {
fn.call(null, nodeList[i], i)
}
return nodeList
Expand All @@ -70,5 +76,5 @@ let dom = {
var template = document.createElement('template')
template.innerHTML = html.trim()
return template.content.firstChild
}
},
}
64 changes: 35 additions & 29 deletions lib/fullpage/index.js
Original file line number Diff line number Diff line change
@@ -1,67 +1,73 @@
class FullPage{
constructor(options){
class FullPage {
constructor(options) {
let defaultOptions = {
element: '',
duration: '1s'
duration: '1s',
}
this.currentIndex = 0
this.options = Object.assign({}, defaultOptions, options)
this.animating = false
this.checkOptions().initHtml().bindEvents()
}
checkOptions(){
if(!this.options.element){
checkOptions() {
if (!this.options.element) {
throw new Error('element is required')
}
return this
}
initHtml(){
initHtml() {
this.options.element.style.overflow = 'hidden'
dom.every(this.options.element.children, (section)=>{
dom.every(this.options.element.children, section => {
section.style.transition = `transform ${this.options.duration}`
})
return this
}
bindEvents(){
this.options.element.addEventListener('wheel', (e)=>{
let targetIndex = this.currentIndex + (e.deltaY > 0 ? 1 : -1)
this.goToSection(targetIndex).then(()=>{
this.currentIndex = targetIndex
},()=>{})
bindEvents() {
this.options.element.addEventListener('wheel', e => {
let targetIndex = this.currentIndex + (e.deltaY > 0 ? 1 : -1)
this.goToSection(targetIndex).then(
() => {
this.currentIndex = targetIndex
},
() => {}
)
})
dom.onSwipe(this.options.element, (e, dir)=>{
dom.onSwipe(this.options.element, (e, dir) => {
let targetIndex
if(dir === 'down'){
if (dir === 'down') {
targetIndex = this.currentIndex - 1
}else if(dir === 'up'){
} else if (dir === 'up') {
targetIndex = this.currentIndex + 1
}else{
} else {
return
}
this.goToSection(targetIndex).then(()=>{
this.currentIndex = targetIndex
},()=>{})
this.goToSection(targetIndex).then(
() => {
this.currentIndex = targetIndex
},
() => {}
)
})
return this
}
goToSection(targetIndex){
return new Promise((resolve, reject)=>{
if(this.animating){
goToSection(targetIndex) {
return new Promise((resolve, reject) => {
if (this.animating) {
reject()
} else if(targetIndex < 0) {
} else if (targetIndex < 0) {
reject()
} else if(targetIndex >= this.options.element.children.length){
} else if (targetIndex >= this.options.element.children.length) {
reject()
}else{
} else {
this.animating = true
let that = this
this.options.element.children[0].addEventListener('transitionend', function callback(){
this.options.element.children[0].addEventListener('transitionend', function callback() {
this.removeEventListener('transitionend', callback)
that.animating = false
resolve()
})
dom.every(this.options.element.children, (section)=>{
section.style.transform = `translateY(-${100*targetIndex}%)`
dom.every(this.options.element.children, section => {
section.style.transform = `translateY(-${100 * targetIndex}%)`
})
}
})
Expand Down
Loading

0 comments on commit a1aae88

Please sign in to comment.