.aplus-v2 .aplus-content-wrapper {
position: relative;
overflow: hidden;
}
.aplus-v2 .container-with-background-image {
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-size: cover;
}
function logShoppableMetrics(moduleName, showsAddToCart) {
if (window.ue && window.ue.count) {
window.ue.count(“aplus:shoppable:” + moduleName + “:addToCart”, showsAddToCart ? 1 : 0);
}
}
From the brand
.aplus-v2 .apm-brand-story-carousel-container {
position: relative;
}
.aplus-v2 .apm-brand-story-carousel-hero-container,
.aplus-v2 .apm-brand-story-carousel-hero-container > div {
position: absolute;
width: 100%;
}
/*
Ensuring the carousel takes only the space it needs.
The sizes need to be set again on the absolutely positioned elements so they can take up space.
*/
.aplus-v2 .apm-brand-story-carousel-container,
.aplus-v2 .apm-brand-story-carousel-hero-container {
height: 625px;
width: 100%;
max-width: 1464px;
margin-left: auto;
margin-right: auto;
overflow: hidden;
}
.aplus-v2 .apm-brand-story-carousel-hero-container,
.aplus-v2 .apm-brand-story-carousel-hero-container > div {
height: 625px;
}
.aplus-v2 .apm-brand-story-carousel.a-carousel-container {
padding: 0px;
}
/*
This centers the carousel vertically on top of the hero image container and after the logo area (125px).
Margin-top = (heroHeight – cardHeight – logoAreaHeight) / 2 + logoAreaHeight
*/
.aplus-v2 .apm-brand-story-carousel .a-carousel-row-inner {
margin-top: 149px;
}
/*
Cards need to have a width set, otherwise they default to 50px or so.
All cards must have the same width. The carousel will resize itself so all cards take the width of the largest card.
The left margin is for leaving a space between each card.
*/
.aplus-v2 .apm-brand-story-carousel .a-carousel-card {
width: 362px;
margin-left: 30px !important;
}
/* styling the navigation buttons so they are taller, flush with the sides, and have a clean white background */
.aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left,
.aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right {
padding: 0px;
}
.aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left .a-button-image,
.aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right .a-button-image {
border: none;
margin: 0px;
}
.aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left .a-button-image .a-button-inner,
.aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right .a-button-image .a-button-inner {
background: #fff;
padding: 20px 6px;
}
.aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-left .a-button-image .a-button-inner {
border-radius: 0px 4px 4px 0px;
}
.aplus-v2 .apm-brand-story-carousel .a-carousel-col.a-carousel-right .a-button-image .a-button-inner {
border-radius: 4px 0px 0px 4px;
}
Let your ideas flow
MYSTILUCK Stylus Pen Make Our Lives More Efficient
-
Luck Meets Tech – MystiLuck
-
Luck Meets Tech – MystiLuck
-
-
-
-
-
.aplus-v2 .aplus-content-wrapper {
position: relative;
overflow: hidden;
}
.aplus-v2 .container-with-background-image {
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-size: cover;
}
function logShoppableMetrics(moduleName, showsAddToCart) {
if (window.ue && window.ue.count) {
window.ue.count(“aplus:shoppable:” + moduleName + “:addToCart”, showsAddToCart ? 1 : 0);
}
}
Product description
MYSTILUCK stylus for iPad 2018-2025
Stylus pen upgraded to unlock more new features
The upgraded stylus pen is more efficient, more convenient and effectively improves your productivity.
Product User Guide and Feature Demonstration
(window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js(‘https://m.media-amazon.com/images/I/61rtJ3+GOOL.js?AUIClients/VSEPlayer’);
(window.AmazonUIPageJS ? AmazonUIPageJS : P).load.js(‘https://m.media-amazon.com/images/I/3175HHgX+OL._RC|11KFCxsEshL.js,11uNd0zHc-L.js,51ocjucRF0L.js,41tLmUCnr0L.js,91G7VmlBk7L.js,11cPgPsKKOL.js_.js?AUIClients/Brila’);
P.now(“premium-aplus-13-carousel-1”).execute(“init-pagination-carousel”, function(init) {
if (init) {
return;
}
P.register(“premium-aplus-13-carousel-1”, function() {
return function() {
P.when(“A”, “jQuery”, “a-carousel-framework”, “ready”).execute(“paginate-carousel”, function (A, $, framework) {
const ENTER_KEY_CODE = 13;
const ESCAPE_KEY_CODE = 27;
const LEFT_ARROW_KEY = 37;
const RIGHT_ARROW_KEY = 39;
const HOME_KEY = 36;
const END_KEY = 35;
var moduleId = “1”;
var carouselName = “premium-aplus-13-carousel-1”;
var paginationAction = “aplus-pagination-dot-action-” + moduleId + “-” + carouselName;
var paginationGroup = “#aplus-pagination-group-” + moduleId + “-” + carouselName;
/* If the carousel goes to a new page */
A.on(“a:carousel:”+carouselName+”:change:pageNumber”, function (data) {
A.$(paginationGroup+” .carousel-slider-circle”).removeClass(“aplus-carousel-active”).attr(‘aria-selected’, ‘false’).attr(‘tabindex’, -1)
.eq(data.newValue – 1).addClass(“aplus-carousel-active”).attr(‘aria-selected’, ‘true’).attr(‘tabindex’, 0);
});
function syncPaginationDotsWithCarouselPages(numPages) {
const parentElement = document.querySelector(paginationGroup);
if (parentElement && parentElement.children) {
const children = parentElement.children;
for (let i = 0; i = numPages) {
// If number of dots > num of pages, we should hide other dots
children[i].classList.add(‘aplus-pagination-dot–display-none’);
} else if (children[i].classList.contains(‘aplus-pagination-dot–display-none’)) {
// Reset display of dots if it was hidden before
children[i].classList.remove(‘aplus-pagination-dot–display-none’);
}
}
}
}
framework.onInit(carouselName, function (carousel) {
try {
var totalPages = carousel.getAttr(‘totalPages’);
syncPaginationDotsWithCarouselPages(totalPages);
/* Resize event handler to re-calculate the pagination dots count based on orientation */
window.addEventListener(‘resize’, function() {
carousel.resize();
totalPages = carousel.getAttr(‘totalPages’);
syncPaginationDotsWithCarouselPages(totalPages);
});
A.declarative(paginationAction, ‘click keydown’, function(event){
var isClick = event.type === ‘click’;
var isKeydown = event.type === ‘keydown’;
var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE;
var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE;
var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY;
var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY;
var isHome = isKeydown && event.$event.keyCode === HOME_KEY;
var isEnd = isKeydown && event.$event.keyCode === END_KEY;
if (isClick || isEnter) {
var data = event.data;
carousel.gotoPage(data.page);
} else if (isEsc) {
event.$target.blur();
} else if (isLeftArrow || isRightArrow || isHome || isEnd) {
event.$event.preventDefault();
const dots = A.$(paginationGroup + ” .carousel-slider-circle”);
const currentIndex = dots.index(event.$target);
let nextIndex;
if (isLeftArrow) {
nextIndex = currentIndex > 0 ? currentIndex – 1 : dots.length – 1;
} else if (isRightArrow) {
nextIndex = currentIndex < dots.length – 1 ? currentIndex + 1 : 0;
} else if (isHome) {
nextIndex = 0;
} else if (isEnd) {
nextIndex = dots.length – 1;
}
dots.eq(nextIndex).focus();
carousel.gotoPage(nextIndex + 1);
}
});
} catch (e) {
P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources');
}
});
});
}
});
});
P.now(“premium-aplus-13-carousel-2”).execute(“init-pagination-carousel”, function(init) {
if (init) {
return;
}
P.register(“premium-aplus-13-carousel-2”, function() {
return function() {
P.when(“A”, “jQuery”, “a-carousel-framework”, “ready”).execute(“paginate-carousel”, function (A, $, framework) {
const ENTER_KEY_CODE = 13;
const ESCAPE_KEY_CODE = 27;
const LEFT_ARROW_KEY = 37;
const RIGHT_ARROW_KEY = 39;
const HOME_KEY = 36;
const END_KEY = 35;
var moduleId = “2”;
var carouselName = “premium-aplus-13-carousel-2”;
var paginationAction = “aplus-pagination-dot-action-” + moduleId + “-” + carouselName;
var paginationGroup = “#aplus-pagination-group-” + moduleId + “-” + carouselName;
/* If the carousel goes to a new page */
A.on(“a:carousel:”+carouselName+”:change:pageNumber”, function (data) {
A.$(paginationGroup+” .carousel-slider-circle”).removeClass(“aplus-carousel-active”).attr(‘aria-selected’, ‘false’).attr(‘tabindex’, -1)
.eq(data.newValue – 1).addClass(“aplus-carousel-active”).attr(‘aria-selected’, ‘true’).attr(‘tabindex’, 0);
});
function syncPaginationDotsWithCarouselPages(numPages) {
const parentElement = document.querySelector(paginationGroup);
if (parentElement && parentElement.children) {
const children = parentElement.children;
for (let i = 0; i = numPages) {
// If number of dots > num of pages, we should hide other dots
children[i].classList.add(‘aplus-pagination-dot–display-none’);
} else if (children[i].classList.contains(‘aplus-pagination-dot–display-none’)) {
// Reset display of dots if it was hidden before
children[i].classList.remove(‘aplus-pagination-dot–display-none’);
}
}
}
}
framework.onInit(carouselName, function (carousel) {
try {
var totalPages = carousel.getAttr(‘totalPages’);
syncPaginationDotsWithCarouselPages(totalPages);
/* Resize event handler to re-calculate the pagination dots count based on orientation */
window.addEventListener(‘resize’, function() {
carousel.resize();
totalPages = carousel.getAttr(‘totalPages’);
syncPaginationDotsWithCarouselPages(totalPages);
});
A.declarative(paginationAction, ‘click keydown’, function(event){
var isClick = event.type === ‘click’;
var isKeydown = event.type === ‘keydown’;
var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE;
var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE;
var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY;
var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY;
var isHome = isKeydown && event.$event.keyCode === HOME_KEY;
var isEnd = isKeydown && event.$event.keyCode === END_KEY;
if (isClick || isEnter) {
var data = event.data;
carousel.gotoPage(data.page);
} else if (isEsc) {
event.$target.blur();
} else if (isLeftArrow || isRightArrow || isHome || isEnd) {
event.$event.preventDefault();
const dots = A.$(paginationGroup + ” .carousel-slider-circle”);
const currentIndex = dots.index(event.$target);
let nextIndex;
if (isLeftArrow) {
nextIndex = currentIndex > 0 ? currentIndex – 1 : dots.length – 1;
} else if (isRightArrow) {
nextIndex = currentIndex < dots.length – 1 ? currentIndex + 1 : 0;
} else if (isHome) {
nextIndex = 0;
} else if (isEnd) {
nextIndex = dots.length – 1;
}
dots.eq(nextIndex).focus();
carousel.gotoPage(nextIndex + 1);
}
});
} catch (e) {
P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources');
}
});
});
}
});
});
P.now(“premium-aplus-13-carousel-4”).execute(“init-pagination-carousel”, function(init) {
if (init) {
return;
}
P.register(“premium-aplus-13-carousel-4”, function() {
return function() {
P.when(“A”, “jQuery”, “a-carousel-framework”, “ready”).execute(“paginate-carousel”, function (A, $, framework) {
const ENTER_KEY_CODE = 13;
const ESCAPE_KEY_CODE = 27;
const LEFT_ARROW_KEY = 37;
const RIGHT_ARROW_KEY = 39;
const HOME_KEY = 36;
const END_KEY = 35;
var moduleId = “4”;
var carouselName = “premium-aplus-13-carousel-4”;
var paginationAction = “aplus-pagination-dot-action-” + moduleId + “-” + carouselName;
var paginationGroup = “#aplus-pagination-group-” + moduleId + “-” + carouselName;
/* If the carousel goes to a new page */
A.on(“a:carousel:”+carouselName+”:change:pageNumber”, function (data) {
A.$(paginationGroup+” .carousel-slider-circle”).removeClass(“aplus-carousel-active”).attr(‘aria-selected’, ‘false’).attr(‘tabindex’, -1)
.eq(data.newValue – 1).addClass(“aplus-carousel-active”).attr(‘aria-selected’, ‘true’).attr(‘tabindex’, 0);
});
function syncPaginationDotsWithCarouselPages(numPages) {
const parentElement = document.querySelector(paginationGroup);
if (parentElement && parentElement.children) {
const children = parentElement.children;
for (let i = 0; i = numPages) {
// If number of dots > num of pages, we should hide other dots
children[i].classList.add(‘aplus-pagination-dot–display-none’);
} else if (children[i].classList.contains(‘aplus-pagination-dot–display-none’)) {
// Reset display of dots if it was hidden before
children[i].classList.remove(‘aplus-pagination-dot–display-none’);
}
}
}
}
framework.onInit(carouselName, function (carousel) {
try {
var totalPages = carousel.getAttr(‘totalPages’);
syncPaginationDotsWithCarouselPages(totalPages);
/* Resize event handler to re-calculate the pagination dots count based on orientation */
window.addEventListener(‘resize’, function() {
carousel.resize();
totalPages = carousel.getAttr(‘totalPages’);
syncPaginationDotsWithCarouselPages(totalPages);
});
A.declarative(paginationAction, ‘click keydown’, function(event){
var isClick = event.type === ‘click’;
var isKeydown = event.type === ‘keydown’;
var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE;
var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE;
var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY;
var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY;
var isHome = isKeydown && event.$event.keyCode === HOME_KEY;
var isEnd = isKeydown && event.$event.keyCode === END_KEY;
if (isClick || isEnter) {
var data = event.data;
carousel.gotoPage(data.page);
} else if (isEsc) {
event.$target.blur();
} else if (isLeftArrow || isRightArrow || isHome || isEnd) {
event.$event.preventDefault();
const dots = A.$(paginationGroup + ” .carousel-slider-circle”);
const currentIndex = dots.index(event.$target);
let nextIndex;
if (isLeftArrow) {
nextIndex = currentIndex > 0 ? currentIndex – 1 : dots.length – 1;
} else if (isRightArrow) {
nextIndex = currentIndex < dots.length – 1 ? currentIndex + 1 : 0;
} else if (isHome) {
nextIndex = 0;
} else if (isEnd) {
nextIndex = dots.length – 1;
}
dots.eq(nextIndex).focus();
carousel.gotoPage(nextIndex + 1);
}
});
} catch (e) {
P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources');
}
});
});
}
});
});
Compatible with iPad models from 2018 to 2025










Reviews
There are no reviews yet.