• Skip to main navigation
  • Skip to main content
  • Skip to search form
  • Skip to footer
Suomi
Suomi
Jenniina Laine, visual designer

Jenniina Laine

Visual Designer

  • About
  • Services
  • Portfolio
  • Contact
  • Home

JavaScript

Interactive JavaScript snippets

Posted on: March 27, 2023 Last updated on: August 26, 2023 Written by: Jenniina Categorized in: JavaScript, Web Design
Snippets I made in vanilla JavaScript/TypeScript to add fully keyboard accessible, interactive JavaScript decorations to a section of a website
More »
pong protagonist and antagonist

Pong javascript game

Posted on: November 17, 2022 Last updated on: March 27, 2023 Written by: Jenniina Categorized in: Web Design, JavaScript
An accessible javascript game, pong, made with TypeScript
More »

Accessible Draggable Blobs #1 & #2

Posted on: October 28, 2022 Last updated on: March 27, 2023 Written by: Jenniina Categorized in: Web Design, JavaScript
Interactive accessible draggable blobs made with TypeScript.
More »
random dog generator image: sheltie-pomeranian Rylie

Accessible Random Dog Generator in JavaScript

Posted on: October 15, 2022 Last updated on: March 27, 2023 Written by: Jenniina Categorized in: Web Design, JavaScript
Connecting to thedog.ceo API to get random dog pictures sorted by breed for a random dog generator.
More »
jenniina.fi site menu desktop view

About This Web Design Portfolio Jenniina.fi

Posted on: July 13, 2000 Last updated on: March 26, 2023 Written by: Jenniina Categorized in: Web Design, JavaScript, Websites
About the creation of the web design portfolio Jenniina.fi
More »

Get in Contact

Got a question or a project in mind?

Let’s connect on LinkedIn or feel free to contact me below:

Loading
Back to top of the page © 2025 Jenniina Laine Cookie Policy
Manage Cookie Consent
To provide the best experiences, I use technologies like cookies to store and/or access device information. Consenting to these technologies will allow me to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
View preferences
{title} {title} {title}