You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
4.7 KiB
144 lines
4.7 KiB
<!doctype html> |
|
<html> |
|
<head> |
|
<meta charset="utf-8"> |
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|
<meta name="viewport" content="width=device-width, initial-scale=1"> |
|
<title>My Learning Website</title> |
|
<link href="/styles/styles.css" rel="stylesheet" type="text/css"> |
|
<link href="/webdevelopment/styles/styles.css" rel="stylesheet" type="text/css"> |
|
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> |
|
<!-- WARNING: Respond.js doesn't work if you view the page via file:// --> |
|
<!--[if lt IE 9]> |
|
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> |
|
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> |
|
<![endif]--> |
|
</head> |
|
<body> |
|
|
|
<h1 class="courselink">JavaScript Essential Training</h1> |
|
<h2 class="lecturer">LinkedIn Learning : Morten Rand-Hendriksen</h2> |
|
<h1 class="episodetitle">Code Samples</h1> |
|
|
|
<article> |
|
<h2 class="sectiontitle">Code Sample</h2> |
|
<p>This is the JavaScript code for 08_11 in the exercise files. In this case, we are not using a conditional statement, but we will use one to improve this code.</p> |
|
<h2 class="sectiontitle">Backpack.js</h2> |
|
<p>This is the code for the Backpack object</p> |
|
<pre class="codesample"> |
|
class Backpack { |
|
constructor( |
|
name, |
|
volume, |
|
color, |
|
pocketNum, |
|
strapLengthL, |
|
strapLengthR, |
|
lidOpen, |
|
dateAcquired, |
|
image |
|
) { |
|
this.name = name; |
|
this.volume = volume; |
|
this.color = color; |
|
this.pocketNum = pocketNum; |
|
this.strapLength = { |
|
left: strapLengthL, |
|
right: strapLengthR, |
|
}; |
|
this.lidOpen = lidOpen; |
|
this.dateAcquired = dateAcquired; |
|
this.image = image; |
|
} |
|
toggleLid(lidStatus) { |
|
this.lidOpen = lidStatus; |
|
} |
|
newStrapLength(lengthLeft, lengthRight) { |
|
this.strapLength.left = lengthLeft; |
|
this.strapLength.right = lengthRight; |
|
} |
|
backpackAge() { |
|
let now = new Date(); |
|
let acquired = new Date(this.dateAcquired); |
|
let elapsed = now - acquired; // elapsed time in milliseconds |
|
let daysSinceAcquired = Math.floor(elapsed / (1000 * 3600 * 24)); |
|
return daysSinceAcquired; |
|
} |
|
} |
|
|
|
export default Backpack;</pre> |
|
<h2 class="sectiontitle">script.js</h2> |
|
<p>This code creates a backpack object, generates an HTML element to display the object and adds it to the HTML document.</p> |
|
<pre class="codesample"> |
|
/** |
|
* Create a new element and append it to the <main> element. |
|
* @link https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement |
|
* @link https://developer.mozilla.org/en-US/docs/Web/API/ParentNode/append |
|
*/ |
|
|
|
import Backpack from "./Backpack.js"; |
|
|
|
const everydayPack = new Backpack( |
|
"Everyday Backpack", |
|
30, |
|
"grey", |
|
15, |
|
26, |
|
26, |
|
false, |
|
"December 5, 2018 15:00:00 PST", |
|
"../assets/images/everyday.svg" |
|
); |
|
|
|
const content = ` |
|
<figure class="backpack__image"> |
|
<img src=${everydayPack.image} alt="" loading="lazy" /> |
|
</figure> |
|
<h1 class="backpack__name">${everydayPack.name}</h1> |
|
<ul class="backpack__features"> |
|
<li class="feature backpack__volume">Volume:<span> ${ |
|
everydayPack.volume |
|
}l</span></li> |
|
<li class="feature backpack__color">Color:<span> ${ |
|
everydayPack.color |
|
}</span></li> |
|
<li class="feature backpack__age">Age:<span> ${everydayPack.backpackAge()} days old</span></li> |
|
<li class="feature backpack__pockets">Number of pockets:<span> ${ |
|
everydayPack.pocketNum |
|
}</span></li> |
|
<li class="feature backpack__strap">Left strap length:<span> ${ |
|
everydayPack.strapLength.left |
|
} inches</span></li> |
|
<li class="feature backpack__strap">Right strap length:<span> ${ |
|
everydayPack.strapLength.right |
|
} inches</span></li> |
|
<li class="feature backpack__lid">Lid status:<span> ${ |
|
everydayPack.lidOpen |
|
}</span></li> |
|
</ul> |
|
`; |
|
|
|
const main = document.querySelector(".maincontent"); |
|
|
|
const newArticle = document.createElement("article"); |
|
newArticle.classList.add("backpack"); |
|
newArticle.setAttribute("id", "everyday"); |
|
newArticle.innerHTML = content; |
|
|
|
main.append(newArticle);</pre> |
|
</article> |
|
|
|
<div class="btngroup"> |
|
<button class="button" onclick="window.location.href='javascriptessentialtraining2021.html'"> |
|
Course Contents |
|
</button> |
|
<button class="button" onclick="window.location.href='/webdevelopment/webdevelopment.html'"> |
|
Web Development Page |
|
</button> |
|
<button class="button" onclick="window.location.href='/index.html'"> |
|
Home |
|
</button> |
|
</div> |
|
|
|
</body> |
|
</html> |