Dev Depot: Intention.js Restructures HTML in a Responsive Manner

Embracing the concept of responsive web design isn’t always clean and tidy, with many modern sites exhibiting telltale signs of digital sludge under their shiny surfaces — sludge that robs performance and creates a maintenance nightmare.

Enter Intention.js (www.intentionjs.com), which the publisher calls a lightweight tool for responsive design that manipulates the DOM via HTML attributes, so the methods for manipulation are placed with the elements themselves — enabling flexible layouts that do not have to be abstract or messy — but that can serve every imaginable viewing device.

Developed to easily increase web layout options and flexibility, reduce development time and to lessen dependence on media-query-driven style sheet overrides, Intention.js dynamically restructures HTML in a responsive manner.

Developed at Dow Jones to easily increase web layout options and flexibility, reduce development time and to lessen dependence on media-query-driven style sheet overrides, Intention.js dynamically restructures HTML in a responsive manner. The script addresses a range of questions, such as “What should an element’s classes be on mobile vs. tablet or where should advertising markup be placed when viewed on a desktop browser, or does a page require an alternate slideshow widget on touch-enabled devices?”

If these are design considerations that you concern yourself with, then Intention.js can provide a solution that alters pages based on the users’ device — with Context.js creating a set of common page contexts for width thresholds, touch devices and high-res displays, along with a standard fallback; with custom contexts and threshold groups easily added.

According to the publisher, Intention.js determines what it calls “threshold groups,” which define the context in which a visitor is viewing your site. These threshold groups work by measuring an axis — such as the browser’s width — or a device’s pixel density (for catering to high resolution screens).

Intention.js offers three basic manipulations: that of attribution, class and placement; allowing users to change the value of any attribute, add or remove an element’s class, and to adjust the position of an element within the structure of the containing document.

Using Intention.js is as simple as flagging an element as “intentional” and giving it an intentional attribute, which can be specific to a change in contexts in an axis, or a specific context passing “true,” or a specific context within a specific axis passing “true.”

While Intention.js responds to numerous device contexts by default, it is a highly scalable solution that is open to any index, so that any type of data that is quantifiable can be used to manipulate a web page — allowing coders to create custom contexts based on anything that they can measure — and then automatically restructure coding in response.

“It’s not just changing a page based on the browser’s width: it’s noticing touch-capabilities, portrait/landscape orientation [and] high resolution contexts,” states a rep. “Intention.js can be taught to restructure pages based on scroll depth, pageviews, [or the] time of day — basically anything!”

One handy feature is the ability to listen for Intention’s first response on page load, such as when wanting to insert specific content or run certain functions. When you don’t want the event handler to keep firing after that first load, jQuery’s Deferred Objects can come into play, but repeating event handlers are easy to setup as well.

Intention.js requires jQuery and Underscore.js and is compatible with all modern web browsers, including Internet Explorer 8 — but developers needing to accommodate this software (still run by legacy Windows XP users) will want to note that although jQuery 2.x dropped support for IE8, Intention will run on older versions of the jQuery libraries.

The script’s website and blog lists a variety of examples, including an interesting use of Intention.js contexts to drive animated characters; but such novelties aside, Intention.js offers a simple yet highly expandable and robust solution for responsive website creation — backed by The Wall Street Journal’s professional team of developers and issued under the MIT License for carefree script modification.

Try Intention.js with your existing framework, or use it to build a site from scratch — either approach helps deliver a website with a high degree of cross-platform compatibility and an engaging user experience.

Related:  

Copyright © 2024 Adnet Media. All Rights Reserved. XBIZ is a trademark of Adnet Media.
Reproduction in whole or in part in any form or medium without express written permission is prohibited.

More Articles

opinion

Account-to-Account Payments: The New Banking Disruptor?

So much of our industry relies upon Visa and Mastercard to support consumer payments — and with that reliance comes increased scrutiny by both brands. From a compliance perspective, the bar keeps getting raised until it feels like we end up spending half our time making sure we are compliant rather than growing our business.

Cathy Beardsley ·
profile

WIA Profile: Samantha Beatrice

Beatrice credits the sex positivity of Montreal for ultimately inspiring her to pursue work in adult entertainment. She had many friends working in the industry, from sex workers to production teams, so it felt like a natural fit and offered an opportunity to apply her marketing and social media savvy to support people she truly believes in and wants to see succeed.

Women In Adult ·
opinion

Understanding the Latest Server Processors

Over the last decade, we mostly stopped talking about CPU performance. Recently, however, there has been a seismic and exciting change in the CPU landscape, due to innovation by a chip company called Advanced Micro Devices (AMD).

Brad Mitchell ·
opinion

User Choice, Privacy and the Importance of Education in AV

As we discussed last month, age verification in the adult sector is critical to ensuring legal compliance with ever-evolving regulations, safeguarding minors from inappropriate content and protecting the privacy of adults wishing to view adult content.

Gavin Worrall ·
opinion

Maintaining Payment Processing Compliance When the Goalpost Keeps Moving

VIRP is the new four-letter word everyone loves to hate. The Visa Integrity Risk Program went into effect last year, and affects several business types — including MCC 5967, which covers adult and anything else with nudity, and MCC 7273, dating services that don’t allow nudity.

Jonathan Corona ·
opinion

Making the Most of Your Sales Opportunities

The compliance road has been full of twists and turns this year. For many, it’s been a companywide effort just to make it across that finish line. Hopefully, most of us can now return our attention to some important things we’ve left on the back burner for months — like driving revenue.

Cathy Beardsley ·
profile

YourPaysitePartner Marks 25-Year Anniversary Amid Indie Content Renaissance

For 25 years, YourPaysitePartner has teamed up with stars and entrepreneurial brands to bring their one-stop-shop adult content dreams to life — and given the indie paysite renaissance of the past few years, the company’s efforts have paid off in spades.

Alejandro Freixes ·
opinion

WIA Profile: B. Wilde

B. Wilde considers herself a strategic, creative, analytical and entertaining person by nature — all useful traits for a “marketing girlie,” a label she happily embraces.

Women In Adult ·
opinion

Proportionality in Age Verification

Ever-evolving age verification (AV) regulations make it critical for companies in the adult sector to ensure legal compliance while protecting the privacy of adults wishing to view adult content. In the past, however, adult sites implementing AV solutions have seen up to a 60% drop in traffic as a result.

Gavin Worrall ·
opinion

Goodbye to Noncompete Agreements in the US?

A noncompetition agreement, also known as a noncompete clause or covenant not to compete, is a contract between an employer and an employee, or between two companies.

Corey D. Silverstein ·
Show More