Esimerkissä käytetään CSS-muotoiltua painiketta ja JavaScriptiä avaamaan sekunnin viiveellä tekstiä sisältävän
laatikko.
Esimerkin painike on tehty CSS-button
generaattorilla.
<p id="tekstipoxi"> </p>
<button class="omaPainike" onclick="omaOhjelma1()"> JS-koodi avaa teksti-boxin </button>
<script>
function omaOhjelma1() {
var omaSek = setInterval(omaAika, 1000);
}
function omaAika() {
var aika = new Date();
document.getElementById("tekstipoksi").innerHTML =
'<div class="teksti">' +
'Tähän jotain tekstiä </div>';
}
</script>
CSS-muotoillun painikeen klikkaus avaa JavaScriptillä CSS-muotoilun tekstiä sisältävän laatikon.
Esimerkin painike on tehty CSS-button generaattorilla.
Esimerkki 2. Esimerkissä avautuva tekstilaatikko hiukan paremmalla CSS-muotoiltu sekä JS-koodaus kehittyneempi:
<div id="teht1" class="tehtava" onclick="omaTeht_1()">
<button class="painike"> Avaa esimerkki </button>
<span class="tehtavaTeksti" id="omaTeht_teksti_1"> <h3> Tehtävän otsikko </h3>
HTML-elementti <i>span</i> ei ole parhain tapa tuottaa laatikkoon tekstiä.<br>
Ongelma, rivinvaihdot joutuu tekemään <i>br</i>-elementillä haluttuihin kohtiin.<br>
Parempi vaihto-ehto voi olla CSS-ohjeilla muotoiltu <i>pre</i>-elementti.<br></span>
</div><br>
<script>
function omaTeht_1() {
var popup = document.getElementById("omaTeht_teksti_1");
popup.classList.toggle("show");
}
</script>
Esimerkissä vaihdetaan kuva klikkaamalla kuvaa, mukana myös kommenttina miten kuva vaihdettaisiin painikkeella.
Esimerkki 3. JavaSript-koodi:
CSS-ohjeet:
#kuvaA {
position:relative;
width: 40%;
padding: 0px;
margin-bottom:150px;
}
HTML-koodaus:
<div id="kuvaA">
<img id="kuva" src="haukka1.gif" onclick="vaihdaKuva()">
</div>
JavaScript-koodaus:
<script>
function vaihdaKuva()
{
document.getElementById("kuva").src="haukka2.png";
}
</script>
Jos kuvan vaihto toteutettaisiin painikkeella (img- ja div- elementtien sijaan):
<button type="button" onclick="vaihdaKuva()"> Vaihda kuva </button>
Esimerkissä kuva vaihtuu kun hiiren osoitin siirretään kuvaan ja kuvasta pois.
( Lyijykynäpiirros-kuvat: https://www.deviantart.com/ )
4. esimerkin toteutus, kuvat sijoitettu esimerkissä Galleria1-kansioon:
CSS-ohjeet:
#kfeidaus {
position:relative;
height:281px;
width:450px;
/*margin: auto;*/
margin-bottom:210px;
padding:15px;
}
#kfeidaus img {
position:absolute;
left:0;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
#kfeidaus img.top:hover {
opacity:0;
}
HTML-koodaus:
<div id="kfeidaus">
<img class="bottom" src="Galleria1/collum.jpg" />
<img class="top" src="Galleria1/hurt.jpg" />
</div>
Esimerkissä kuva vaihtuu tekstiä klikkaamalla. Esimerkin ongelma, eri korkuisten kuvien käyttäminen.
Edellisessä 4. esimerkissä kuvatiedostot oli samankokoisia, leveys ja korkeus.
( Lyijykynäpiirros-kuvat: https://www.deviantart.com/ )
Klikkaa mua
Tarvittava CSS-ohjeet, script:it ja HTML-koodaus:
CSS-ohjeet:
#feid2 {
position:relative;
/*height:281px;*/
/*width:450px;*/
/*margin:0 auto;*/
width:30%;
margin-bottom:390px;
padding:15px;
}
#feid2 img {
position:absolute;
left:0;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;
}
#feid2 img.transparent {
opacity:0;
}
#feid_onclick {
cursor:pointer;
}
Script:it (head-elementtiin):
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#feid_onclick").click(function() {
$("#feid2 img.top").toggleClass("transparent");
});
});
</script>
HTML-koodaus:
<p id="feid_onclick"><b style="color:red"> Klikkaa mua </b></p>
<div id="feid2" class="shadow">
<img class="bottom" src="Galleria1/bono2.jpg"/>
<img class="top" src="Galleria1/brucew2.jpg"" />
</div>
Esimerkissä kuvat vauhtuu 400 millisekunnin eli 4 sekunnin välein. CSS-ohjeissa on huomioitu eri korkuisten kuvien
aiheuttama ongelma margin-bottom-asetuksessa sekä käyttämällä kahden korkuisia kuvia.
( Lyijykynäpiirros-kuvat: https://www.deviantart.com/ )
Tarvittava CSS-ohjeet, script:it ja HTML-koodaus:
CSS-ohjeet:
#kuvat { position: relative;
margin-bottom:560px;
padding:15px; }
#kuvat > img { position: absolute; left: 0; top: 0; display: none; }
#kuvat > img:first-child { display: block; }
Script:it (head-elementtiin):
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var
images = "#kuvat > img" // kuva valitsin
, interval = 4000 // siirtymä-aika millisekunteina
, index = 0 // alku-arvo
, count = $(images).length // kuvalaskuri
// the transition loop
, handle = setInterval(function() {
// fade out the current image
$(images + ":eq(" + index + ")").fadeOut('slow');
// get the next index, or cycle back to 0
if (++index === count) index = 0;
// fade in the next image
$(images + ":eq(" + index + ")").fadeIn('slow');
}
, interval
)
, stop = function(){
clearInterval(handle);
};
});
</script>
HTML-koodaus:
<div id="kuvat">
<img src="Galleria1/hurt.jpg"/>
<img src="Galleria1/collum.jpg">
<img src="Galleria1/bono1.jpg">
<img src="Galleria1/brucew.jpg">
<img src="Galleria1/rock1.jpg">
</div>
Esimerkissä leveä painike avaa alle laatikon jossa kuva ja kuvaan liittyvää tekstiä.
"The Vision Mercedes-Maybach 6 Cabriolet takes modern luxury into the realms of the ultimate in luxury, and is the perfect embodiment of our design strategy. Breathtaking proportions combined with a luxurious haute couture interior help to create the ultimate experience,” explains Gorden Wagener, Chief Design Officer of Daimler AG. Measuring almost six metres in length, the Vision Mercedes-Maybach 6 Cabriolet incorporates the classic proportions of art deco design with its extremely long bonnet and puristic, flowing lines, and at the same time completely reinterprets these aesthetic principles.
Tarvittava CSS-ohjeet, script:it ja HTML-koodaus:
CSS-ohjeet:
#avaa {
padding: 10px;
text-align: center;
background-color: #cceeff;
border: solid 1px RGB(155,182,225);
font-family: Arial, Helvetica, sans-serif;
width: 75%;
}
#panel{
padding: 10px;
background-color: RGB(147,174,221);
border: solid 1px #c3c3c3;
font-family: Arial, Helvetica, sans-serif;
width: 75%;
}
#panel {
display: none;
}
img{
width: 50%;
float: left;
margin: 20px;
}
.clearfix {
overflow: auto;
}
.teksti{
padding: 20px;
}
Tarvittavat script:it (head-elementtiin):
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#avaa").click(function(){
$("#panel").slideToggle("slow");
});
});
</script>
HTML-koodaus:
<div id="avaa"> Maybach luxery car </div>
<div id="panel" class="clearfix">
<img src="Galleria1/maybach.jpg"/>
<p class="teksti2">
"The Vision Mercedes-Maybach 6 Cabriolet takes modern luxury into the realms of the ultimate in luxury,
and is the perfect embodiment of our design strategy. Breathtaking proportions combined with a luxurious
haute couture interior help to create the ultimate experience,” explains Gorden Wagener, Chief Design
Officer of Daimler AG. Measuring almost six metres in length, the Vision Mercedes-Maybach 6 Cabriolet
incorporates the classic proportions of art deco design with its extremely long bonnet and puristic,
flowing lines, and at the same time completely reinterprets these aesthetic principles.<p>
</div>
"Klikkaa mua"-painike sulkee kuvat JQuery:n fadeOut()-funktioilla.
Vastaavasti fadeIn()-funktioilla voi avata kuvat ja käyttämällä fadeToggle()-funktiota
voi avata ja sulkea kuvat samaa tekstiä h4-klikkaamalla.
Tämä ratkaisu-malli on ongelmallinen, koska kuvien alapuolella voi olla html-sisältöä jonka asemointiin
www-sivulla kuvat vaikuttavat.
Tarvittava CSS-ohjeet, script:it ja HTML-koodaus:
CSS-ohjeet:
Tulossa myöhemmin....
Script:it (head-elementtiin):
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("h4").click(function(){
$("#div1").fadeOut(2000);
$("#div2").fadeOut(4000);
$("#div3").fadeOut(6000);
});
});
</script>
HTML-koodaus:
<h4> Klikkaapa mua </h4><br><br>
<img id="div1" src="Galleria1/maisema1.jpg"/><br>
<img id="div2" src="Galleria1/maisema2.jpg"/><br>
<img id="div3" src="Galleria1/maisema3.jpg"/>
Kokeile esimerkkiä, klikkaa punaista tekstiä: