Designing Dynamic and Interactive Web Pages you own this product

'); $(document.body).append('
loading reading lists ...
'); function adjustReadingListIcon(isInReadingList){ $readingListToggle.toggleClass("fa-plus", !isInReadingList); $readingListToggle.toggleClass("fa-check", isInReadingList); var tooltipMessage = isInReadingList ? "edit in reading lists" : "add to reading list"; $readingListToggle.attr("title", tooltipMessage); $readingListToggle.attr("data-original-title", tooltipMessage); } $.ajax({ url: "/readingList/isInReadingList", data: { productId: 2816 } }).done(function (data) { adjustReadingListIcon(data && data.hasProductInReadingList); }).catch(function(e){ console.log(e); adjustReadingListIcon(false); }); $readingListToggle.on("click", function(){ if(codePromise == null){ showToast() } loadCode().then(function(store){ store.requestReadingListSpecificationForProduct({ id: window.readingListsServerVars.externalId, manningId: window.readingListsServerVars.productId, title: window.readingListsServerVars.title }); ReadingLists.ReactDOM.render( ReadingLists.React.createElement(ReadingLists.ManningOnlineReadingListModal, { store: store, }), document.getElementById("reading-lists-modal") ); }).catch(function(e){ console.log("Error loading code reading list code"); }); }); var codePromise var readingListStore function loadCode(){ if(codePromise) { return codePromise } return codePromise = new Promise(function (resolve, reject){ $.getScript(window.readingListsServerVars.libraryLocation).done(function(){ hideToast() readingListStore = new ReadingLists.ReadingListStore( new ReadingLists.ReadingListProvider( new ReadingLists.ReadingListWebProvider( ReadingLists.SourceApp.marketplace, getDeploymentType() ) ) ); readingListStore.onReadingListChange(handleChange); readingListStore.onReadingListModalChange(handleChange); resolve(readingListStore); }).catch(function(){ hideToast(); console.log("Error downloading reading lists source"); $readingListToggle.css("display", "none"); reject(); }); }); } function handleChange(){ if(readingListStore != null) { adjustReadingListIcon(readingListStore.isInAtLeastOneReadingList({ id: window.readingListsServerVars.externalId, manningId: window.readingListsServerVars.productId })); } } var $readingListToast = $("#reading-list-toast"); function showToast(){ $readingListToast.css("display", "flex"); setTimeout(function(){ $readingListToast.addClass("shown"); }, 16); } function hideToast(){ $readingListToast.removeClass("shown"); setTimeout(function(){ $readingListToast.css("display", "none"); }, 150); } function getDeploymentType(){ switch(window.readingListsServerVars.deploymentType){ case "development": case "test": return ReadingLists.DeploymentType.dev; case "qa": return ReadingLists.DeploymentType.qa; case "production": return ReadingLists.DeploymentType.prod; case "docker": return ReadingLists.DeploymentType.docker; default: console.error("Unknown deployment environment, defaulting to production"); return ReadingLists.DeploymentType.prod; } } }); } });
With JavaScript and DOM
Laurence Svekis
  • Course duration: 9h 56m

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Look inside

Bring your web pages to life! Learn how to create dynamic web pages, connect with the DOM, and update and manipulate page elements with JavaScript code.

The Document Object Model (DOM) connects web pages to scripts or programming languages by representing the structure of a document in memory—similar to HTML representing a web page. DOM methods allow programmatic access so you can change the document's structure, style, or content and selectively update the elements on a web page.

This course starts with the basics: working with the DOM and learning the common methods and properties JavaScript uses to select elements from a web page and apply changes. Then it quickly moves on to a series of three fun, interactive projects that will have you putting what you’ve learned to immediate use. At the same time, you’ll expand your JavaScript skills working with E6 and modern JavaScript coding.

Have fun while learning as you build these unique projects:

  • An interactive game that requires you to generate responsive JavaScript and CSS grids.
  • A JavaScript slot machine with real element movement and tracking of element values. You’ll build this with a dynamic global game object that you can adjust to change the game dynamics.
  • A JavaScript DOM Frogger game that teaches you how to track classes, as well as update and check if elements contain classes. Learn the logic for game play and how to create complete games from start to finish—including game grid and design.

  • Distributed by Manning Publications

    This course was created independently by Laurence Svekis and is distributed by Manning through our exclusive liveVideo platform.

about the subject

JavaScript is a popular programming language for web development that can modify both HTMLand CSS, and make web pages dynamic. The DOM, or Document Object Model, represents the web page so you can use languages like JavaScript to interact with the page.

prerequisites

Basic knowledge of HTML, CSS and JavaScript

about the instructor

Laurence Svekis is an experienced Google developer who worked on multiple enterprise level applications, hundreds of websites and business solutions, and many unique and innovative web applications. He created his first computer application in 1990 and first website in 1998. Laurence has been providing web development courses and digital marketing strategy courses since 2002, teaching countless learners how to bring amazing things to life online.
what's a liveVideo?
Find out more

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Designing Dynamic and Interactive Web Pages liveVideo for free
RECENTLY VIEWED