Skip to header Skip to main navigation Skip to main content Skip to footer
Cookies UI
Site branding
Alaa Haddad - Drupal Expert
Consultant • Architect • Developer • Themer - Expert Drupal Solutions
Main navigation
Alaa Haddad Offers Exceptional Drupal Custom Theming and Modules in Austin TX Alaa Haddad - Drupal Expert
  • Professional Profile
  • Drupal Services
    • Drupal Development
    • Drupal Developer
    • Drupal Themer
    • Drupal Architect
    • Drupal Consultant
  • My Drupal Modules & Themes
      • Cloudflare Purge
      • Solo Copy Blocks
      • W3CSS Paragraphs
      • Paragraphs Bundles
      • Acquia Purge Varnish
      • Reference Blocked Users
      • Module Matrix
      • Paragraphs Bundles Import
      • Selectify
      • Solo Utilities
      • Utilikit
      • Solo
      • Amun
      • Anhur
      • Amunet
      • W3CSS Theme
      • 3D Carousel
      • 3D FlipBox
      • Accordion
      • Carousel
      • Hero
      • Lightbox
      • Parallax
      • Reveal
      • Slideshow
      • Tabs
  • Blog
  • Videos
  • Contact
  • Hire Me (opens in new tab)

Views 3D Carousel (Drupal Module)

Breadcrumbs

Breadcrumb

  • Home
  • Drupal Modules
  • Views 3D Carousel (Drupal Module)

Main page content

Alaa Haddad, professional Drupal developer based in Austin, TX   Alaa Haddad
  10:43 PM CDT, Sun September 13, 2026
Share

Views 3D Carousel (VVJC) turns any Drupal Views listing into an accessible, perspective-depth 3D carousel, built in pure vanilla JavaScript with no jQuery and no other contributed dependency beyond its own shared core. It requires Drupal 11.3 or 12, and it is free on drupal.org.

What it does

VVJC adds a new Views style plugin called 3D Carousel. Choose it in the Format section of any view and each row in your result set — nodes, media, commerce products, anything Views can list — becomes a slide in a rotating 3D display, rather than a flat strip. Because it is a Views style plugin, it inherits your view's filters, sort order and pager exactly like Grid or List would.

Requirements

VVJC requirements, from vvjc.info.yml
RequirementValue
Drupal core^11.3 || ^12
PHP8.3 or later
PackageVVJ
Core module dependenciesViews, Filter
Contributed dependencyVVJ Core — required, installed automatically

VVJC 2.x requires VVJ Core. composer require drupal/vvjc:^2.0 pulls it in for you; if you install by downloading a tarball instead of using Composer, you must download VVJ Core separately or the module will not enable. VVJ Core is the shared foundation behind every VVJ module — it supplies the custom-element rendering, the token resolver, and the base Views style plugin that VVJC extends.

What makes it 3D

The difference between VVJC and a flat carousel is the perspective transform applied to each slide as it rotates into and out of view. Format Settings expose a perspective value in pixels that controls how pronounced that depth looks — Drupal calculates a sensible default from your configured max width, but you can override it. Pair that with a configurable background colour and opacity behind the stage, and you get a carousel that reads as a physical, rotating object rather than a slideshow with a transition effect.

Features

  • No jQuery. Vanilla JavaScript keeps the payload small and avoids a dependency most modern Drupal sites are trying to drop.
  • Comprehensive customization. Max width, large- and small-screen heights, perspective depth, background colour and opacity are all configurable per view.
  • Responsive breakpoints. Choose from presets such as 576px, 768px and 992px so the carousel adapts across devices.
  • Play/pause with configurable interval. Automatic rotation from 3 to 15 seconds, or disabled entirely for a manually-driven carousel.
  • Keyboard navigation. Arrow keys and the space bar move between slides.
  • Touch and swipe support for mobile visitors.
  • Accessibility-enhanced. Active slides are announced to screen readers, with ARIA roles throughout.
  • Hover pause and pause on tab switch, so content does not keep moving while a visitor is reading or has switched away.
  • Respects prefers-reduced-motion for visitors who have asked their system to limit animation.
  • Unique ID generation so multiple carousels on one page never conflict.

Configuring the carousel

Max width
Preset widths (300px, 400px, 500px and more) that also set the default perspective value.
Time in seconds
Interval between automatic slide transitions, 3–15 seconds. Set to 0 to disable autoplay.
Large / small screen height
Independent height values so the carousel fits its container on desktop and mobile.
Perspective
Overrides the automatic 3D depth calculated from max width.
Background colour and opacity
A colour picker plus a 0–100 opacity slider, or a checkbox to disable the background entirely.
Available breakpoints
Choose which responsive breakpoints apply to this instance.

Custom tokens for view header and footer

Views header and footer fields set to Global: Text area or Global: Unfiltered text with "Use replacement tokens from the first row" enabled cannot use standard {{ title }}-style tokens — Drupal's default token system does not resolve them in that context. Use VVJC's own syntax instead: [vvjc:title], [vvjc:field_image], and so on for any field on the view. Append :plain to strip HTML, for example [vvjc:title:plain]. These tokens pull directly from the rendered row and do not support complex rewrites built from multiple {{ }} tokens — use one token per field instead. In v2, resolution runs through the shared vvj_core.token_resolver service, but the token syntax itself is unchanged from v1.

JavaScript API

Control carousels programmatically through Drupal.vvjc. Pass a deep-link identifier, a CSS selector, or an element reference as the first argument:

Drupal.vvjc.goToSlide('gallery', 3);
Drupal.vvjc.nextSlide('gallery');
Drupal.vvjc.prevSlide('gallery');
Drupal.vvjc.pause('gallery');
Drupal.vvjc.resume('gallery');
Drupal.vvjc.pauseAll();
Drupal.vvjc.resumeAll();
Drupal.vvjc.getCurrentSlide('gallery');
Drupal.vvjc.getTotalSlides('gallery');
Drupal.vvjc.getInstance('#vvjc-12345'); // returns <vvjc-carousel>
Drupal.vvjc.getAllInstances();

Installation

composer require drupal/vvjc
drush en vvjc -y
drush cr

Then edit or create a view, and under Format choose 3D Carousel as the display style.

Developer and site builder tips

  • Every view using this plugin carries the CSS class vvj-carousel alongside Views' own js-view-dom-id.
  • The active slide has the class active — style it directly for state-based emphasis.
  • Carousel items sit inside one wrapping <div>; navigation controls sit in a separate <div>, so you can restyle or hide navigation without touching slide markup.
  • Row style or a view mode both work for slide content — use whichever gives you the markup you want per item.

3D Carousel or Basic Carousel?

VVJC and Views Carousel (VVJB) both rotate through a Views result set, and both share the VVJ Core foundation, but they solve different problems.

Choosing between VVJC and VVJB
ConsiderationVVJC — 3D CarouselVVJB — Basic Carousel
Visual stylePerspective-depth rotation, one slide at a timeFlat horizontal or vertical scroll, one or several items at once
Best forHero banners, featured items, anything meant to draw the eyeProduct grids, card rows, content that needs to show several items per screen
Items visible at onceOne slideConfigurable per breakpoint
OrientationFixed rotation axisHorizontal, vertical, or hybrid

If you want items to flip rather than rotate, Views 3D FlipBox is the closer fit. If your content is better suited to expand-in-place sections than a rotating display at all, see Views Accordion.

Common questions

Does VVJC depend on jQuery or any other library?

No. It is pure vanilla JavaScript. It does depend on Drupal core's Views and Filter modules, and on VVJ Core, which Composer installs automatically.

Will VVJC work on Drupal 12?

Yes. It declares core_version_requirement: ^11.3 || ^12 and PHP 8.3 or later, so it installs cleanly on either.

Do I need to install VVJ Core myself?

Not if you use Composer — composer require drupal/vvjc:^2.0 resolves and installs VVJ Core as part of the same command. A manual, non-Composer download needs both modules downloaded and enabled.

Can I use my own view mode for slide content?

Yes. Set Row style to a view mode, or use field-based row styles — VVJC renders whatever the row produces inside each slide.

What is the difference between VVJC and VVJB?

VVJC rotates one slide at a time with a 3D perspective effect, aimed at content you want to showcase. VVJB shows one or more flat items per screen with horizontal, vertical or hybrid orientation, aimed at browsing a set of items efficiently. See the comparison table above.

Need a hand?

VVJC is free and GPL-licensed, like all my contributed work. If you want a carousel styled to match an existing design, a Views build that goes beyond what Format Settings expose, or a Drupal 10 to 11/12 upgrade so you can run version 2, that is my day job.

Read about my Drupal services, see what a Drupal developer brings to a project, or get in touch.

Views Vanilla JavaScript 3D Carousel (VVJC)
Slide 1 of 27
Acquia Purge Varnish - API V2 (Drupal Module)
Slide 2 of 27
Amun - W3CSS Sub-Theme (Drupal Theme)
Slide 3 of 27
Amunet - W3CSS Sub-Theme (Drupal Theme)
Slide 4 of 27
Anhur - W3CSS Sub-Theme (Drupal Theme)
Slide 5 of 27
Cloudflare Purge (Drupal Module)
Slide 6 of 27
Module Matrix (Drupal Module)
Slide 7 of 27
Paragraphs Bundles (Drupal Module)
Slide 8 of 27
Paragraphs Bundles Import (Drupal Module)
Slide 9 of 27
Reference Blocked Users (Drupal Module)
Slide 10 of 27
Selectify (Drupal Module)
Slide 11 of 27
Solo (Drupal Theme)
Slide 12 of 27
Solo Copy Blocks (Drupal Module)
Slide 13 of 27
Solo Utilities (Drupal Module)
Slide 14 of 27
Utilikit (Drupal Module)
Slide 15 of 27
Views 3D Carousel (Drupal Module)
Slide 16 of 27
Views 3D FlipBox (Drupal Module)
Slide 17 of 27
Views Accordion (Drupal Module)
Slide 18 of 27
Views Carousel (Drupal Module)
Slide 19 of 27
Views Hero (Drupal Module)
Slide 20 of 27
Views Lightbox (Drupal Module)
Slide 21 of 27
Views Parallax (Drupal Module)
Slide 22 of 27
Views Reveal (Drupal Module)
Slide 23 of 27
Views Slideshow (Drupal Module)
Slide 24 of 27
Views Tabs (Drupal Module)
Slide 25 of 27
VVJ Core (Drupal Module)
Slide 26 of 27
W3CSS Paragraphs (Drupal Module)
Slide 27 of 27
W3CSS Theme (Drupal Theme)
1 of 27

Our mission is to make Drupal more accessible and user-friendly, empowering businesses of all sizes, especially small enterprises with powerful tools that streamline content customization and enhance digital experiences.

Need help with your Drupal project? Hire Me through Flash Web Center, LLC.

Search

The Drupal 11 Module and Theme Stack, With Versions Checked

ARIA Live Regions in Drupal 11: What Core Does, What You Add

Drupal Architect: The Decisions Expensive to Reverse

Drupal Services: Development, Theming, Upgrades | Austin TX

Paragraphs Bundles

Drupal Module - Paragraphs Bundles

Drupal Theme - Solo

Drupal Theme - Solo

Drupal Work List - Drupal Work

Reference Blocked Users (Drupal Module)

Solo Utilities (Drupal Module)

Views Hero (Drupal Module)

Solo (Drupal Theme)

Paragraphs Bundles Import (Drupal Module)

Drupal Theme - W3CSS Theme

Drupal Theme - W3CSS Theme

Drupal Module - W3CSS Paragraphs

Drupal Module - W3CSS Paragraphs

Inspiration

Inspiration is the fuel that powers our creative engine, often coming from our surroundings, experiences, or the works of others. It's that magical moment when something clicks inside your brain, and you suddenly see a path forward that you hadn't noticed before. Inspiration can strike at any time, providing the motivation and energy needed to explore new possibilities and bring your ideas to life.

Unique Ideas

Unique Ideas

Unique ideas are the seeds of innovation, representing original thoughts or concepts that stand out from the usual. They're the sparks that ignite the process of creating something new and different, often leading to unexpected and groundbreaking solutions or products. Whether in art, science, business, or technology, unique ideas challenge the status quo and pave the way for progress.

Brainstorming

Brainstorming

Brainstorming is a creative group activity designed to generate a large number of ideas or solutions to a problem. It's a free-flowing and open-ended discussion where every suggestion is welcomed and considered, no matter how outlandish it may seem. Brainstorming encourages thinking outside the box, fostering an environment where creativity and collaboration lead to innovative solutions.

Planning

Planning

Planning is the blueprint for turning your ideas into reality. It involves setting goals, outlining steps, and organizing resources in a way that makes achieving your objectives possible. Good planning considers potential challenges and opportunities, making it easier to navigate the journey from concept to completion. It's about preparing the groundwork so that your projects can grow and flourish.

Drupal Developer

A Drupal Developer stands as the technical powerhouse behind dynamic websites, wielding expertise in PHP, custom module development, and Drupal's sophisticated API ecosystem. This role transforms business requirements into functional, secure, and scalable web solutions that power everything from small business sites to enterprise platforms serving millions of users. A Drupal Developer's expertise spans the entire development lifecycle—from architecting custom modules and integrating third-party services to optimizing performance and ensuring security compliance. Discover the complete guide to Drupal Developer skills, career paths, and hiring strategies.

Drupal Themer

A Drupal Themer serves as the artistic craftsperson who transforms wireframes and design mockups into pixel-perfect, accessible, and responsive user experiences using Twig templates, CSS, and JavaScript. This specialized role bridges the gap between design vision and technical implementation, ensuring every website not only looks exceptional but performs flawlessly across all devices and meets WCAG accessibility standards. A Drupal Themer's work encompasses the entire front-end ecosystem—from creating custom theme architectures and optimizing Core Web Vitals to implementing complex responsive designs and ensuring seamless integration with Drupal's rendering system. Explore the comprehensive guide to Drupal Themer expertise, theming best practices, and career advancement.

Drupal Architect

A Drupal Architect emerges as the strategic visionary of web construction, armed with encyclopedic knowledge of enterprise architecture patterns, infrastructure design, and Drupal's extensive technological ecosystem. This senior role operates at the highest technical level, making critical decisions that determine whether complex implementations scale successfully or collapse under real-world demands. A Drupal Architect's responsibilities begin long before development starts—during strategic planning phases where the foundation for secure, performant, and maintainable systems is established through careful evaluation of technology stacks, integration strategies, and scalability requirements. Learn about Drupal Architect skills, enterprise architecture strategies, and career progression to principal roles.

Footer menu

  • Contact
  • Professional Resume
  • Resume Summary
  • Technical Skills
  • Privacy Policy
  • Terms & Conditions
  • Search
  • Login
  • Sitemap

Copyright © 2026 Flash Web Center, LLC - All rights reserved

Developed & Designed by Alaa Haddad