Onderzoek slider voor programmeren cijfer 8
Wat is Javascript?
Om een goed te begrijpen wat een Javascript slider is, is het handig om te begrijpen wat Javascript precies is.
Javascript een scripting-taal die op zichzelf staat, Javascript heeft dus niets te maken met Java. Er bestaan twee vormen van Javascript; client-slide en server-slide. De client-slide wordt direct uitgevoerd in de browser van de gebruiker, de server-slide wordt uitgevoerd via de server van de gebruiker en daarna in de browser wordt het resultaat uitgevoerd. Javascript maakt een website interactief. Daarbij is Javascript makkelijk te leren. (homepage-maken)
Over sliders
Voor een webdesigner is het gebruik van een slider ontzettend belangrijk. Het maakt de website mooier en het oogt vriendelijk. Naast dit, kun je ontzettend veel informatie kwijt in een slider. Je kunt er plaatje, tekst of producten in kwijt. De gebruiker ziet bij binnenkomst op de site direct beknopte informatie over wat de site te bieden heeft. Vaak kun je ook in een slider klikken, door dit kun je direct naar de pagina gaan van het product die in slider staat. Maar met zo’n 46 sliders is het best wel lastig om een juiste slider te kiezen. Maar aangezien de opdracht vraagt om geen jQuery sliders te gebruiken heb ik een slider die alleen maar op javascript,CSS en HTML draait.
Ook hier heb je vijf verschillende soorten sliders;
· Simple slideshow
· Fade in/fade out
· Slide left/slide right
· Autoplay fade
· Autoplay slide
De uitwerking van een simple slideshow
Als eerst begin je met het opmaken van een HTML bestand.
<div class="diy-slideshow"><figure class="show"><img alt="naam van het plaatje" src="https://path/to/the/image.jpg" width="100%" />
<figcaption>Image caption goes here.</figcaption></figure>
<figure><img alt="" src="https://path/to/the/image.jpg" width="100%" />
<figcaption>Image caption goes here.</figcaption></figure>
*/ bovenstaande link blijf je aan de hand van de hoeveelheid foto’s kopiëren.
<figure>s as needed
<span class="prev">«</span>
<span class="next">»</span>
</figure></div>
Zoals je kunt zien zit alles in een <div> die in combinatie werkt met de <figure>. De <span> staan voor de buttons.
Vervolgens ga je verder in CSS. Hier wordt de opmaak van de slideshow vormgegeven.
.diy-slideshow{ position: relative; display: block; overflow: hidden; } figure{ position: absolute; opacity: 0; transition: 1s opacity; } figcaption{ position: absolute; font-family: sans-serif; font-size: .8em; bottom: .75em; right: .35em; padding: .25em; color: #fff; background: rgba(0,0,0, .25); border-radius: 2px; } figcaption a{ color: #fff; } figure.show{ opacity: 1; position: static; transition: 1s opacity; } .next, .prev{ color: #fff; position: absolute; background: rgba(0,0,0, .6); top: 50%; z-index: 1; font-size: 2em; margin-top: -.75em; opacity: .3; user-select: none; } .next:hover, .prev:hover{ cursor: pointer; opacity: 1; } .next{ right: 0; padding: 10px 5px 15px 10px; border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .prev{ left: 0; padding: 10px 10px 15px 5px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; } |
De plaatjes zijn allemaal absolute gepositioneerd dit betekend dat de afbeeldingen allemaal boven op elkaar gestapeld zullen worden. Ook zullen de afbeeldingen allemaal doorzichtig zijn, behalve diegene met de klasse. De klasse wordt dus makkelijk gezegd, steeds doorgegeven aan elkaar als de gebruiker op de pijltjes klikt.
(function(){
var counter = 0,
$items = document.querySelectorAll('.diy-slideshow figure'),
numItems = $items.length;
*/ hier wordt de functie aangeroepen
var showCurrent = function(){
var itemToShow = Math.abs(counter%numItems);
[].forEach.call( $items, function(el){
el.classList.remove('show');
});
$items[itemToShow].classList.add('show');
};
*/ dit is de beschrijving van de werking van de pijltjes, hier wordt de volgende aangegeven
document.querySelector('.next').addEventListener('click', function() {
counter++;
showCurrent();
}, false);
*/ dit is de beschrijving van de werking van de pijltjes, hier wordt de vorige aangegeven
document.querySelector('.prev').addEventListener('click', function() {
counter--;
showCurrent();
}, false);
})();
jQuery vs. Javascript
Responsive desgin
Met de nieuwe technieken, HTML 5 en CSS3 is het nu gemakkelijker om website te maken voor touchscreen apparaten. Je hoeft geen app meer te ontwikkelen voor IOS en Andriod én Blackberry. Tegenwoordig begint het ontwerpen van een website bij de Smartphone, Mobile first. Er wordt kritisch gekeken naar de informatie die een site te bieden heeft, en waar de gebruiker naar opzoek is. Juist dan is een slider ideaal. Je kunt namelijk veel informatie in zo’n slider stoppen. De gebruiker ziet gelijk die informatie die zij nodig heeft of niet en kan direct weer verder. Daarnaast wordt een full background slider geïndexeerd door zoekmachines. Een website responsieve te maken kost meer werk dan alleen een website voor op desktop te maken, maar een repsonsive website kost weer minder tijd dan voor elke software een app te maken. (Veenstra, 2014)
Swipen of klikken?
Je kunt natuurlijk niet meer achterblijven, je site moet te openen zijn op een mobile device. Hiervoor moet wel degelijk een stuk code toegevoegd worden aan je Javascript. Je moet namelijk niet alleen je fotoslider veranderen: je moet de gehele content van je website aanpassen, je menu’s, content, afbeelding breedtes. En natuurlijk moet je aangeven dat het moet swipen op je mobile device. De volgende code schaalt al automatisch je afbeeldingen en geeft aan dat ze moeten swypen.
<meta name=”viewport” content=”width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximumscale=1.0”> <meta name=”apple-mobile-web-app-capable” content=”yes”> <meta name=”apple-mobile-web-app-statusbar-style” content=”black”>
Daarnaast is het natuurlijk cruciaal dat je twee verschillende javascript documenten maakt. En dat je in je HTML deze met elkaar koppelt.
Daarvoor moet je deze code toevoegen:
<link href='https://fonts.googleapis.com/css?family=Advent+Pro' rel='stylesheet' type='text/css'> <link href="style.css" rel="stylesheet" type="text/css"> <script type="text/JavaScript" src="swipeview.js"> </script>
<script type="text/JavaScript"src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"> </script>
(Toonen)
Zoekoptimalisatie
Een slider is natuurlijk gewoon één van de vele plug ins die je kunt toevoegen aan je site. Het voordeel aan een slider is dat je extra afbeeldingen kwijt kan op één pagina. Daarom is bij het gebruik van een slider belangrijk dat je de afbeelding noemt op datgene waar je site gevonden op wilt zien worden. Zo wordt je niet alleen op je content gevonden maar ook op de afbeeldingen van de site. Daarbij kunnen de gebruikte afbeeldingen ook gevonden worden op google images. (interpedia)
Samenvatting
Er zijn verschillende soorten sliders, teveel om allemaal uit te leggen. Tegenwoordig werken sliders ook op touch screen apparaten, hiervoor moet wel de code aangepast worden. Door een slider op je site te zetten kun je beter gevonden worden op Google. Je kunt namelijk meer steekwoorden achter de afbeelding kwijt. Hierdoor kan je niet alleen gevonden op Google search maar ook op images.