<div>
<p>
Scrolla ner åt för att se hur knappen fungerar. Texten används för bara att testa komponenten.
</p>
<p>
Quisque ut lobortis tellus, quis pulvinar leo. Pellentesque ornare velit sit amet imperdiet lobortis. Etiam hendrerit magna a dolor convallis accumsan. Aliquam condimentum nunc quis turpis dignissim bibendum. Morbi vel egestas dui. Nunc leo enim, sagittis
ac venenatis vel, euismod et leo. Ut dignissim quis dolor a fringilla. Nulla finibus sapien nibh, fermentum ultricies dui hendrerit eget.
</p>
<p>Morbi at justo feugiat, luctus massa id, efficitur tortor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque pellentesque, elit at volutpat sagittis, mi magna convallis tellus, sed porta arcu arcu
in magna. Suspendisse tristique tortor tellus, at consectetur mi hendrerit nec. Vivamus id urna nulla. Vestibulum dapibus porttitor pellentesque. Curabitur metus lectus, fringilla vel nibh finibus, lacinia finibus ante.</p>
<p>Cras elit est, rhoncus mattis mattis quis, pulvinar in lorem. Etiam tristique diam eget risus euismod fringilla. Aliquam imperdiet venenatis purus, ut hendrerit nisl egestas in. Nunc dignissim consectetur orci, at dignissim diam feugiat nec. Nam vitae
malesuada enim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse sem mi, cursus vel consectetur et, mollis et nisl. Mauris eget condimentum velit. Morbi tempus erat lorem, ac malesuada dolor euismod ac. In at lectus commodo,
blandit tellus at, luctus leo. Nam interdum augue elit, quis sodales nunc suscipit eget. Nunc bibendum interdum consectetur. Curabitur rhoncus nibh sed metus suscipit, et blandit ligula pulvinar. Vivamus venenatis, enim sit amet rutrum gravida,
est magna faucibus urna, at ultricies velit nunc eget nunc. Nulla facilisi. Sed mattis nulla at mauris tincidunt, eget maximus arcu rhoncus.</p>
<p>Fusce eros dolor, lobortis egestas odio volutpat, euismod scelerisque purus. Curabitur nibh lacus, vestibulum eu purus in, tempor vestibulum ante. Donec molestie laoreet elit, eu egestas odio ullamcorper a. Vestibulum vitae finibus diam, eu dictum
diam. Nunc molestie, tellus at pellentesque eleifend, neque eros eleifend velit, eget commodo erat orci sed eros. Sed euismod nibh eu ante maximus, sit amet viverra ipsum laoreet. Vestibulum et fringilla mi, eu interdum est. Donec odio ipsum,
porttitor ac commodo et, dapibus nec nulla. Ut magna purus, commodo sit amet tortor et, sollicitudin porttitor tellus. Quisque at elit rhoncus, consectetur metus non, mollis mi. Phasellus in ligula id lectus viverra euismod at sed justo. Vivamus
non ullamcorper orci. Nunc aliquet, tellus eu ultricies varius, augue nisi elementum ligula, in vulputate ligula ex at metus. Pellentesque blandit fermentum posuere.
</p>
<p>Nullam at convallis nisi, at luctus augue. Pellentesque quis dui pulvinar, rhoncus mi luctus, ultricies nisi. Donec sollicitudin nisi at felis bibendum faucibus. Integer tincidunt, nisl eu cursus consequat, dui mi pharetra dui, nec fermentum neque
mauris tincidunt erat. Nulla eros justo, consectetur in molestie sit amet, pellentesque vel libero. Mauris luctus orci ut fringilla cursus. Pellentesque venenatis velit non hendrerit consequat. Integer in tincidunt urna, vitae tincidunt justo.
Curabitur scelerisque posuere ex ut fermentum. Ut iaculis metus in nibh sodales, non laoreet sem mattis. Aenean dui metus, malesuada nec aliquet sed, porta ut turpis.</p>
<p>
Quisque ut lobortis tellus, quis pulvinar leo. Pellentesque ornare velit sit amet imperdiet lobortis. Etiam hendrerit magna a dolor convallis accumsan. Aliquam condimentum nunc quis turpis dignissim bibendum. Morbi vel egestas dui. Nunc leo enim, sagittis
ac venenatis vel, euismod et leo. Ut dignissim quis dolor a fringilla. Nulla finibus sapien nibh, fermentum ultricies dui hendrerit eget.
</p>
<p>Morbi at justo feugiat, luctus massa id, efficitur tortor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque pellentesque, elit at volutpat sagittis, mi magna convallis tellus, sed porta arcu arcu
in magna. Suspendisse tristique tortor tellus, at consectetur mi hendrerit nec. Vivamus id urna nulla. Vestibulum dapibus porttitor pellentesque. Curabitur metus lectus, fringilla vel nibh finibus, lacinia finibus ante.</p>
<p>Cras elit est, rhoncus mattis mattis quis, pulvinar in lorem. Etiam tristique diam eget risus euismod fringilla. Aliquam imperdiet venenatis purus, ut hendrerit nisl egestas in. Nunc dignissim consectetur orci, at dignissim diam feugiat nec. Nam vitae
malesuada enim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse sem mi, cursus vel consectetur et, mollis et nisl. Mauris eget condimentum velit. Morbi tempus erat lorem, ac malesuada dolor euismod ac. In at lectus commodo,
blandit tellus at, luctus leo. Nam interdum augue elit, quis sodales nunc suscipit eget. Nunc bibendum interdum consectetur. Curabitur rhoncus nibh sed metus suscipit, et blandit ligula pulvinar. Vivamus venenatis, enim sit amet rutrum gravida,
est magna faucibus urna, at ultricies velit nunc eget nunc. Nulla facilisi. Sed mattis nulla at mauris tincidunt, eget maximus arcu rhoncus.</p>
<p>Fusce eros dolor, lobortis egestas odio volutpat, euismod scelerisque purus. Curabitur nibh lacus, vestibulum eu purus in, tempor vestibulum ante. Donec molestie laoreet elit, eu egestas odio ullamcorper a. Vestibulum vitae finibus diam, eu dictum
diam. Nunc molestie, tellus at pellentesque eleifend, neque eros eleifend velit, eget commodo erat orci sed eros. Sed euismod nibh eu ante maximus, sit amet viverra ipsum laoreet. Vestibulum et fringilla mi, eu interdum est. Donec odio ipsum,
porttitor ac commodo et, dapibus nec nulla. Ut magna purus, commodo sit amet tortor et, sollicitudin porttitor tellus. Quisque at elit rhoncus, consectetur metus non, mollis mi. Phasellus in ligula id lectus viverra euismod at sed justo. Vivamus
non ullamcorper orci. Nunc aliquet, tellus eu ultricies varius, augue nisi elementum ligula, in vulputate ligula ex at metus. Pellentesque blandit fermentum posuere.
</p>
<p>Nullam at convallis nisi, at luctus augue. Pellentesque quis dui pulvinar, rhoncus mi luctus, ultricies nisi. Donec sollicitudin nisi at felis bibendum faucibus. Integer tincidunt, nisl eu cursus consequat, dui mi pharetra dui, nec fermentum neque
mauris tincidunt erat. Nulla eros justo, consectetur in molestie sit amet, pellentesque vel libero. Mauris luctus orci ut fringilla cursus. Pellentesque venenatis velit non hendrerit consequat. Integer in tincidunt urna, vitae tincidunt justo.
Curabitur scelerisque posuere ex ut fermentum. Ut iaculis metus in nibh sodales, non laoreet sem mattis. Aenean dui metus, malesuada nec aliquet sed, porta ut turpis.</p>
</div>
<div class="rh-back-to-top__container">
<a href="#" title="Scrolla till toppen" class="rh-link--navigation">
<div id="back-to-top" class="rh-button-circle rh-button-circle--default rh-button-circle--large rh-back-to-top">
<span class="icon-chevron-up rh-button-circle__icon"></span>
</div>
</a>
</div>
{{!-- Using for scrolling testing --}}
<div>
<p>
Scrolla ner åt för att se hur knappen fungerar. Texten används för bara att testa komponenten.
</p>
<p>
Quisque ut lobortis tellus, quis pulvinar leo. Pellentesque ornare velit sit amet imperdiet lobortis. Etiam
hendrerit magna a dolor convallis accumsan. Aliquam condimentum nunc quis turpis dignissim bibendum. Morbi vel
egestas dui. Nunc leo enim, sagittis ac venenatis vel, euismod et leo. Ut dignissim quis dolor a fringilla.
Nulla
finibus sapien nibh, fermentum ultricies dui hendrerit eget.
</p>
<p>Morbi at justo feugiat, luctus massa id, efficitur tortor. Vestibulum ante ipsum primis in faucibus orci luctus
et
ultrices posuere cubilia Curae; Pellentesque pellentesque, elit at volutpat sagittis, mi magna convallis tellus,
sed
porta arcu arcu in magna. Suspendisse tristique tortor tellus, at consectetur mi hendrerit nec. Vivamus id urna
nulla. Vestibulum dapibus porttitor pellentesque. Curabitur metus lectus, fringilla vel nibh finibus, lacinia
finibus ante.</p>
<p>Cras elit est, rhoncus mattis mattis quis, pulvinar in lorem. Etiam tristique diam eget risus euismod fringilla.
Aliquam imperdiet venenatis purus, ut hendrerit nisl egestas in. Nunc dignissim consectetur orci, at dignissim
diam
feugiat nec. Nam vitae malesuada enim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse sem
mi,
cursus vel consectetur et, mollis et nisl. Mauris eget condimentum velit. Morbi tempus erat lorem, ac malesuada
dolor euismod ac. In at lectus commodo, blandit tellus at, luctus leo. Nam interdum augue elit, quis sodales
nunc
suscipit eget. Nunc bibendum interdum consectetur. Curabitur rhoncus nibh sed metus suscipit, et blandit ligula
pulvinar. Vivamus venenatis, enim sit amet rutrum gravida, est magna faucibus urna, at ultricies velit nunc eget
nunc. Nulla facilisi. Sed mattis nulla at mauris tincidunt, eget maximus arcu rhoncus.</p>
<p>Fusce eros dolor, lobortis egestas odio volutpat, euismod scelerisque purus. Curabitur nibh lacus, vestibulum eu
purus in, tempor vestibulum ante. Donec molestie laoreet elit, eu egestas odio ullamcorper a. Vestibulum vitae
finibus diam, eu dictum diam. Nunc molestie, tellus at pellentesque eleifend, neque eros eleifend velit, eget
commodo erat orci sed eros. Sed euismod nibh eu ante maximus, sit amet viverra ipsum laoreet. Vestibulum et
fringilla mi, eu interdum est. Donec odio ipsum, porttitor ac commodo et, dapibus nec nulla. Ut magna purus,
commodo
sit amet tortor et, sollicitudin porttitor tellus. Quisque at elit rhoncus, consectetur metus non, mollis mi.
Phasellus in ligula id lectus viverra euismod at sed justo. Vivamus non ullamcorper orci. Nunc aliquet, tellus
eu
ultricies varius, augue nisi elementum ligula, in vulputate ligula ex at metus. Pellentesque blandit fermentum
posuere.</p>
<p>Nullam at convallis nisi, at luctus augue. Pellentesque quis dui pulvinar, rhoncus mi luctus, ultricies nisi.
Donec
sollicitudin nisi at felis bibendum faucibus. Integer tincidunt, nisl eu cursus consequat, dui mi pharetra dui,
nec
fermentum neque mauris tincidunt erat. Nulla eros justo, consectetur in molestie sit amet, pellentesque vel
libero.
Mauris luctus orci ut fringilla cursus. Pellentesque venenatis velit non hendrerit consequat. Integer in
tincidunt
urna, vitae tincidunt justo. Curabitur scelerisque posuere ex ut fermentum. Ut iaculis metus in nibh sodales,
non
laoreet sem mattis. Aenean dui metus, malesuada nec aliquet sed, porta ut turpis.</p>
<p>
Quisque ut lobortis tellus, quis pulvinar leo. Pellentesque ornare velit sit amet imperdiet lobortis. Etiam
hendrerit magna a dolor convallis accumsan. Aliquam condimentum nunc quis turpis dignissim bibendum. Morbi vel
egestas dui. Nunc leo enim, sagittis ac venenatis vel, euismod et leo. Ut dignissim quis dolor a fringilla.
Nulla
finibus sapien nibh, fermentum ultricies dui hendrerit eget.
</p>
<p>Morbi at justo feugiat, luctus massa id, efficitur tortor. Vestibulum ante ipsum primis in faucibus orci luctus
et
ultrices posuere cubilia Curae; Pellentesque pellentesque, elit at volutpat sagittis, mi magna convallis tellus,
sed
porta arcu arcu in magna. Suspendisse tristique tortor tellus, at consectetur mi hendrerit nec. Vivamus id urna
nulla. Vestibulum dapibus porttitor pellentesque. Curabitur metus lectus, fringilla vel nibh finibus, lacinia
finibus ante.</p>
<p>Cras elit est, rhoncus mattis mattis quis, pulvinar in lorem. Etiam tristique diam eget risus euismod fringilla.
Aliquam imperdiet venenatis purus, ut hendrerit nisl egestas in. Nunc dignissim consectetur orci, at dignissim
diam
feugiat nec. Nam vitae malesuada enim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse sem
mi,
cursus vel consectetur et, mollis et nisl. Mauris eget condimentum velit. Morbi tempus erat lorem, ac malesuada
dolor euismod ac. In at lectus commodo, blandit tellus at, luctus leo. Nam interdum augue elit, quis sodales
nunc
suscipit eget. Nunc bibendum interdum consectetur. Curabitur rhoncus nibh sed metus suscipit, et blandit ligula
pulvinar. Vivamus venenatis, enim sit amet rutrum gravida, est magna faucibus urna, at ultricies velit nunc eget
nunc. Nulla facilisi. Sed mattis nulla at mauris tincidunt, eget maximus arcu rhoncus.</p>
<p>Fusce eros dolor, lobortis egestas odio volutpat, euismod scelerisque purus. Curabitur nibh lacus, vestibulum eu
purus in, tempor vestibulum ante. Donec molestie laoreet elit, eu egestas odio ullamcorper a. Vestibulum vitae
finibus diam, eu dictum diam. Nunc molestie, tellus at pellentesque eleifend, neque eros eleifend velit, eget
commodo erat orci sed eros. Sed euismod nibh eu ante maximus, sit amet viverra ipsum laoreet. Vestibulum et
fringilla mi, eu interdum est. Donec odio ipsum, porttitor ac commodo et, dapibus nec nulla. Ut magna purus,
commodo
sit amet tortor et, sollicitudin porttitor tellus. Quisque at elit rhoncus, consectetur metus non, mollis mi.
Phasellus in ligula id lectus viverra euismod at sed justo. Vivamus non ullamcorper orci. Nunc aliquet, tellus
eu
ultricies varius, augue nisi elementum ligula, in vulputate ligula ex at metus. Pellentesque blandit fermentum
posuere.</p>
<p>Nullam at convallis nisi, at luctus augue. Pellentesque quis dui pulvinar, rhoncus mi luctus, ultricies nisi.
Donec
sollicitudin nisi at felis bibendum faucibus. Integer tincidunt, nisl eu cursus consequat, dui mi pharetra dui,
nec
fermentum neque mauris tincidunt erat. Nulla eros justo, consectetur in molestie sit amet, pellentesque vel
libero.
Mauris luctus orci ut fringilla cursus. Pellentesque venenatis velit non hendrerit consequat. Integer in
tincidunt
urna, vitae tincidunt justo. Curabitur scelerisque posuere ex ut fermentum. Ut iaculis metus in nibh sodales,
non
laoreet sem mattis. Aenean dui metus, malesuada nec aliquet sed, porta ut turpis.</p>
</div>
{{!-- End of scrolling testing --}}
{{#if isStandard}}
<div id="back-to-top" class="rh-button-circle rh-button-circle--default rh-button-circle--large rh-back-to-top">
<span class="icon-chevron-up rh-button-circle__icon"></span>
</div>
{{/if}}
{{#if hasContainer}}
<div class="rh-back-to-top__container">
<a href="#" title="Scrolla till toppen" class="rh-link--navigation">
<div id="back-to-top" class="rh-button-circle rh-button-circle--default rh-button-circle--large rh-back-to-top">
<span class="icon-chevron-up rh-button-circle__icon"></span>
</div>
</a>
</div>
{{/if}}
{
"name": "default",
"isStandard": false,
"hasContainer": true
}
.rh-back-to-top {
/* Visuellt */
@if $back-to-top--background-color {
background-color: $back-to-top--background-color;
}
/* Blandat/övrigt */
@if $back-to-top--cursor {
cursor: $back-to-top--cursor;
}
// Effect
&:hover {
@if $back-to-top--background-color-hover {
background-color: $back-to-top--background-color-hover;
}
@if $back-to-top--text-color-hover {
color: $back-to-top--text-color-hover;
}
}
&:active {
@if $back-to-top--background-color-active {
background-color: $back-to-top--background-color-active;
}
@if $back-to-top--text-color-active {
color: $back-to-top--text-color-active;
}
}
@if $back-to-top--isResponsive {
@include medium {
/* Box-modell/beteende */
width: $back-to-top--button-size-medium;
min-width: $back-to-top--button-size-medium; //IE11
max-width: $back-to-top--button-size-medium; //IE11
height: $back-to-top--button-size-medium;
min-height: $back-to-top--button-size-medium;
max-height: $back-to-top--button-size-medium;
.rh-circle-button__icon {
/* Typografi */
font-size: $back-to-top--icon-size-medium;
}
}
}
&__container {
/* Positionering */
position: fixed;
bottom: 0;
right: 0;
z-index: $back-to-top--z-index;
/* Box-modell/beteende */
padding: $back-to-top__container--padding;
transform: translate3d(0,0,0); //iOS
-webkit-transform: translate3d(0,0,0); //iOS
-moz-transform: translate3d(0,0,0);
-o-transform: translate3d(0,0,0);
-ms-transform: translate3d(0,0,0);
& a:hover,
& a:active {
text-decoration: none;
}
}
}
// Needed function:
// throttle() - /public/library.js
$(document).ready(function () {
var $btnBackToTop = $("#back-to-top"),
btnBackToTopLimitOnHead = 500,
btnBackToTopCurrentPos = $(window).scrollTop(); // Initial state
btnBackToTopCurrentPos < btnBackToTopLimitOnHead ? $btnBackToTop.hide() : $btnBackToTop.show();
$(window).scroll(throttle(function () {
btnBackToTopCurrentPos = $(this).scrollTop(); // Update current position
if (btnBackToTopCurrentPos > btnBackToTopLimitOnHead) {
!$btnBackToTop.is(':visible') && $btnBackToTop.fadeIn("slow");
} else {
$btnBackToTop.is(':visible') && $btnBackToTop.fadeOut("slow");
}
}, 200));
$btnBackToTop.click(function (e) {
e.stopPropagation();
$('body,html').animate({ scrollTop: 0 }, 800);
});
});
/* Molecules - Back to top */
$back-to-top--isResponsive: true;
$back-to-top--background-color: $base3;
$back-to-top--z-index: 10;
// Effects
$back-to-top--background-color-hover: $base3-dark; //false
$back-to-top--text-color-hover: $white; //false
$back-to-top--background-color-active: $base3-dark; //false
$back-to-top--text-color-active: $white; //false
$back-to-top--cursor: pointer;
$back-to-top--button-size-medium: 3.125em; //50px
$back-to-top--icon-size-medium: 2em;
$back-to-top__container--padding: .8em;
{
"name": "regionhalland/back-to-top",
"description": "Back to top",
"type": "styleguide-molecule",
"license": "GPL-3.0",
"authors": [
{
"name": "Region Halland",
"email": "webbplatser@regionhalland.se"
}
],
"require": {}
}
rh-back-to-top
/components/Molecules/back-to-top
rh-back-to-top__container
skapas för snabb användning när man vill justera komponentens position.<a>
tag används när man vill att komponenten länkar till en osynlig element som är på högst upp av sidan för användare som inte har JavaScript aktiveras i deras webbläsare. Komponenten fungerar ändå.<div id="back-to-top" class="rh-circle-button rh-circle-button--large rh-back-to-top">
<span class="icon-chevron-up rh-circle-button__icon"></span>
</div>
<a>
tag är en alternativ):<a href="#" title="Scrolla till toppen" class="rh-link--navigation">
<div id="back-to-top" class="rh-circle-button rh-circle-button--large rh-back-to-top">
<span class="icon-chevron-up rh-circle-button__icon"></span>
</div>
</a>
<a>
tag är alternativ):<div class="rh-back-to-top__container">
<a href="#" title="Scrolla till toppen" class="rh-link--navigation">
<div id="back-to-top" class="rh-circle-button rh-circle-button--large rh-back-to-top">
<span class="icon-chevron-up rh-circle-button__icon"></span>
</div>
</a>
</div>
Exempelkod i readme uppdaterad