Skip to content

Commit

Permalink
Add latest changes of sources files
Browse files Browse the repository at this point in the history
  • Loading branch information
eddiesigner committed Jun 16, 2019
1 parent 161f484 commit 55533f8
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 70 deletions.
150 changes: 80 additions & 70 deletions src/js/post.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,86 +4,98 @@ import stickybits from 'stickybits'
import mediumZoom from 'medium-zoom'
import fitvids from 'fitvids'

$(document).ready(() => {
fitvids('.js-post-content')

const $aosWrapper = $('.js-aos-wrapper')
const $progressCircle = $('.js-progress')
const $scrollButton = $('.js-scrolltop')
const $loadComments = $('.js-load-comments')
const $commentsIframe = $('.js-comments-iframe')
const $recommendedArticles = $('.js-recommended-articles')

let lastScrollingY = window.pageYOffset
let lastWindowHeight = 0
let lastDocumentHeight = 0
let circumference = 0
let isTicking = false
let $progressCircle = null
let lastScrollingY = window.pageYOffset
let lastWindowHeight = 0
let lastDocumentHeight = 0
let circumference = 0
let isTicking = false

function isMobile(width = '768px') {
return window.matchMedia(`(max-width: ${width})`).matches
}

function onScrolling() {
lastScrollingY = window.pageYOffset
requestTicking()
}

function onResizing() {
setHeights()
adjustShare(100)

setTimeout(() => {
setCircleStyles()
requestTicking()
}, 200)
}

function isMobile(width = '768px') {
return window.matchMedia(`(max-width: ${width})`).matches
function requestTicking() {
if (!isTicking) {
requestAnimationFrame(updating)
}

function onScrolling() {
lastScrollingY = window.pageYOffset
requestTicking()
}
isTicking = true
}

function onResizing() {
setHeights()
adjustShare(100)
function updating() {
const progressMax = lastDocumentHeight - lastWindowHeight
const percent = Math.ceil((lastScrollingY / progressMax) * 100)

setTimeout(() => {
setCircleStyles()
requestTicking()
}, 200)
if (percent <= 100) {
setProgress(percent)
}

function requestTicking() {
if (!isTicking) {
requestAnimationFrame(updating)
}
isTicking = false
}

isTicking = true
}
function setHeights() {
lastWindowHeight = window.innerHeight
lastDocumentHeight = $(document).height()
}

function updating() {
const progressMax = lastDocumentHeight - lastWindowHeight
const percent = Math.ceil((lastScrollingY / progressMax) * 100)
function setCircleStyles() {
const radiusCircle = $progressCircle.parent().width() / 2
const borderWidth = isMobile() ? 2 : 3

if (percent <= 100) {
setProgress(percent * 1.5)
}
$progressCircle.attr('stroke-width', borderWidth)
$progressCircle.attr('r', radiusCircle - (borderWidth - 1))
$progressCircle.attr('cx', radiusCircle)
$progressCircle.attr('cy', radiusCircle)

isTicking = false
}
circumference = radiusCircle * 2 * Math.PI

$progressCircle[0].style.strokeDasharray = `${circumference} ${circumference}`
$progressCircle[0].style.strokeDashoffset = circumference
}

function setHeights() {
lastWindowHeight = window.innerHeight
lastDocumentHeight = $(document).height()
function setProgress(percent) {
if (percent <= 100) {
const offset = circumference - percent / 100 * circumference
$progressCircle[0].style.strokeDashoffset = offset
}
}

function setCircleStyles() {
const radiusCircle = $progressCircle.parent().width() / 2
const borderWidth = isMobile() ? 2 : 3
function prepareProgressCircle() {
$progressCircle = $('.js-progress')

$progressCircle.attr('stroke-width', borderWidth)
$progressCircle.attr('r', radiusCircle - (borderWidth - 1))
$progressCircle.attr('cx', radiusCircle)
$progressCircle.attr('cy', radiusCircle)
setHeights()
setCircleStyles()
updating()

circumference = radiusCircle * 2 * Math.PI
setTimeout(() => {
$progressCircle.parent().css('opacity', 1)
}, 300)
}

$progressCircle[0].style.strokeDasharray = `${circumference} ${circumference}`
$progressCircle[0].style.strokeDashoffset = circumference
}
$(document).ready(() => {
const $aosWrapper = $('.js-aos-wrapper')
const $scrollButton = $('.js-scrolltop')
const $loadComments = $('.js-load-comments')
const $commentsIframe = $('.js-comments-iframe')
const $recommendedArticles = $('.js-recommended-articles')

function setProgress(percent) {
if (percent <= 100) {
const offset = circumference - percent / 100 * circumference
$progressCircle[0].style.strokeDashoffset = offset
}
}
fitvids('.js-post-content')

function adjustImageGallery() {
const images = document.querySelectorAll('.kg-gallery-image img')
Expand Down Expand Up @@ -113,10 +125,8 @@ $(document).ready(() => {
adjustShare(1000)

if ($recommendedArticles.length > 0) {
$recommendedArticles.on('init', function() {
setHeights()
setCircleStyles()
updating()
$recommendedArticles.on('init', function () {
prepareProgressCircle()
})

$recommendedArticles.slick({
Expand All @@ -141,10 +151,6 @@ $(document).ready(() => {
}
]
})
} else {
setHeights()
setCircleStyles()
updating()
}

$scrollButton.click(() => {
Expand Down Expand Up @@ -174,3 +180,7 @@ $(document).ready(() => {
window.addEventListener('scroll', onScrolling, { passive: true })
window.addEventListener('resize', onResizing, { passive: true })
})

$(window).on('load', () => {
prepareProgressCircle()
})
1 change: 1 addition & 0 deletions src/sass/components/ui/_icon-button.scss
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@
top: 0;
width: 100%;
height: 100%;
opacity: 0;

circle {
transform-origin: 50% 50%;
Expand Down

0 comments on commit 55533f8

Please sign in to comment.