Skip to content

Commit eca1b0c

Browse files
committed
Cubic scroll, move some constants
1 parent 8aaab7d commit eca1b0c

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

_sass/_slider.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
$carousel-scroll-down-button-font-size-larger: 2rem;
2-
$carousel-scroll-down-button-font-size-smaller: 1.25rem;
1+
$carousel-scroll-down-button-font-size-larger: 2.5rem;
2+
$carousel-scroll-down-button-font-size-smaller: 1.75rem;
33

44
#slider {
55
width: 100%;
@@ -13,7 +13,7 @@ $carousel-scroll-down-button-font-size-smaller: 1.25rem;
1313
}
1414

1515
#carousel-scroll-down-button:before {
16-
content: '';
16+
content: 'ˬ';
1717
font-size: $carousel-scroll-down-button-font-size-larger;
1818
font-weight: bold;
1919
text-shadow:0px 0px 10px black, 0px 0px 10px black;

assets/js/slider.js

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
const SCROLL_ANIMATION_DURATION = 1000;
2+
const CAROUSEL_SCROLL_DOWN_BUTTON_OFFSET = {X: -7, Y: -45};
3+
14
$(document).ready(() => {
25
let slider = $("#slider");
36
if (slider.length) {
@@ -10,27 +13,28 @@ $(document).ready(() => {
1013
});
1114
}
1215
// Setup carousel scroll-down button click event
13-
let carouselsdb = $("#carousel-scroll-down-button");
16+
let carousel_scroll_down_button = $("#carousel-scroll-down-button");
1417
let scrollTopOffset = 1;
15-
carouselsdb.on("click", () => {
16-
$("html, body").animate({ scrollTop: slider.find("img").height() + scrollTopOffset - $("nav").outerHeight() }, "slow");
17-
carouselsdb.blur();
18+
carousel_scroll_down_button.on("click", () => {
19+
let calculateFinalPosition = () => slider.find("img").height() + scrollTopOffset - $("nav").outerHeight();
20+
let animateProperties = { scrollTop: calculateFinalPosition() }
21+
$("html, body").animate(animateProperties, {duration: SCROLL_ANIMATION_DURATION, specialEasing: {scrollTop: "easeOutCubic"}, step: function(now, fx) {fx.end = calculateFinalPosition();}} );
22+
carousel_scroll_down_button.blur();
1823
});
1924

2025
// Position carousel scroll-down button
21-
let carouselsdbOffset = {X: -7, Y: -35};
2226
$(window).on("scroll", () => {
2327
let sliderBottom = slider.height() + slider.offset().top;
2428
let windowBottom = $(window).scrollTop() + $(window).height();
2529
if ($(window).scrollTop() > sliderBottom) {
26-
carouselsdb.css("visibility", "hidden");
30+
carousel_scroll_down_button.css("visibility", "hidden");
2731
} else {
2832
if(windowBottom < sliderBottom){
29-
carouselsdb.css("transform", `translate3d(${-carouselsdb.width()/2 + carouselsdbOffset.X}px, ${windowBottom-carouselsdb.height() + carouselsdbOffset.Y}px,0px)`);
33+
carousel_scroll_down_button.css("transform", `translate3d(${-carousel_scroll_down_button.width()/2 + CAROUSEL_SCROLL_DOWN_BUTTON_OFFSET.X}px, ${windowBottom-carousel_scroll_down_button.height() + CAROUSEL_SCROLL_DOWN_BUTTON_OFFSET.Y}px,0px)`);
3034
} else{
31-
carouselsdb.css("transform", `translate3d(${-carouselsdb.width()/2 + carouselsdbOffset.X}px, ${slider.height()-carouselsdb.height() + carouselsdbOffset.Y}px, 0px)`);
35+
carousel_scroll_down_button.css("transform", `translate3d(${-carousel_scroll_down_button.width()/2 + CAROUSEL_SCROLL_DOWN_BUTTON_OFFSET.X}px, ${slider.height()-carousel_scroll_down_button.height() + CAROUSEL_SCROLL_DOWN_BUTTON_OFFSET.Y}px, 0px)`);
3236
}
33-
carouselsdb.css("visibility", "visible");
37+
carousel_scroll_down_button.css("visibility", "visible");
3438
}
3539
}).scroll();
3640
$(window).on("load resize focus blur",()=>$(window).scroll());

0 commit comments

Comments
 (0)