JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
2 / 7
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size
0% OFF
Save $-3.90

JEYI M.2 NGFF NVME SSD Extension Bracket Transfer 2230 2242 2260 2280 Length Extend Adapter Bracket Card Plate Change Long Size

$3.90
788 sold
Color
Qty 987 in stock

100% brand new and high quality.

Made of high-quality material, durable, firm and stable for us to use.

Stable lead-free SMT fixing screw column, easy to install and remove.

It can support 2230 to 2242/2260/2280, 2242 to 2280, 2260 to 2280. It does not support 2242 to 2260.

It can be cut off, five lengths can be adjusted for you.



JEYI M.2 SSD Extension Bracket

Gold-plated resin material strong and flexible, durable

How to Install

1. Unscrew the back screws with a screwdriver

2. Align the 2230 HDD end with the HDD screw hole end

3. Retighten the screws to clamp the two together.

You May Also Like Don't Like These?
const TAG = 'spz-custom-painter-button-animation'; const MAX_ITERATION_COUNT = 99999999; const SITE = (window.C_SETTINGS && window.C_SETTINGS.routes && window.C_SETTINGS.routes.root) || ''; const ADD_TO_CART_ANIMATION_SETTING = `${SITE}/api/marketing_atmosphere_app/add_to_cart_btn_animation/setting`; class SpzCustomPainterButtonAnimation extends SPZ.BaseElement { /**@override */ static deferredMount() { return false; } /** @param {!SpzElement} element */ constructor(element) { super(element); /** @private {!../../src/service/xhr-impl.Xhr} */ this.xhr_ = SPZServices.xhrFor(this.win); /** @private {Object} */ this.data_ = null; /** @private {Element} */ this.addToCartButton_ = null; /** @private {boolean} */ this.productAvailable_ = true; /** @private {number} */ this.timerId_ = null; /** @private {number} */ this.animationExecutionCount_ = 0; /** @private {boolean} */ this.selectedVariantAvailable_ = true; /** @private {number} */ this.delay_ = 5000; /** @private {number} */ this.iterationCount_ = 5; /** @private {string} */ this.animationClass_ = ''; } /** @override */ isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } /** @override */ buildCallback() { this.productAvailable_ = this.element.hasAttribute('product-available'); this.selectedVariantAvailable_ = this.element.hasAttribute('selected-variant-available'); } /** @override */ mountCallback() { this.render_(); } /** @private */ render_() { if (!this.productAvailable_) { return; } this.fetch_().then((data) => { if (!data) { return; } this.data_ = data; this.animationClass_ = `painter-${data.animation_name}-animation`; this.iterationCount_ = data.animation_iteration_count === 'infinite' ? MAX_ITERATION_COUNT : data.animation_iteration_count; const animationDuration = 1; const animationDelay = data.animation_delay || 5; this.delay_ = (animationDuration + animationDelay) * 1000; this.handleButtonEffect_(); }); } /** * @param {JsonObject} data * @return {(null|Object)} * @private */ parseJson_(data) { try { return JSON.parse(data); } catch (e) { return null; } } /** * @return {Promise} * @private */ fetch_() { return this.xhr_.fetchJson(ADD_TO_CART_ANIMATION_SETTING).then((data) => { if (!data || !data.enabled) { return null; } return this.parseJson_(data.detail); }); } /** @private */ getAddToCartButton_() { this.addToCartButton_ = SPZCore.Dom.scopedQuerySelector( document.body, '[data-section-type="product"] [role="addToCart"], [data-section-type="product_detail"] [role="addToCart"], [data-section-type="product_detail"] [data-click="addToCart"], [data-section-type="product"] [data-click="addToCart"]' ); } /** @private */ restartAnimation_() { this.addToCartButton_.classList.remove(this.animationClass_); this.addToCartButton_./* OK */ offsetWidth; this.addToCartButton_.classList.add(this.animationClass_); this.animationExecutionCount_++; } /** @private */ clearTimer_() { this.win.clearInterval(this.timerId_); this.timerId_ = null; } /** @private */ setupTimer_() { this.timerId_ = this.win.setInterval(() => { this.restartAnimation_(); if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); this.clearTimer_(); } }, this.delay_); } /** @private */ restartTimer_() { if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); return; } this.setupTimer_(); } /** @private */ listenVariantChange_() { SPZUtils.Event.listen(self.document, 'dj.variantChange', (e) => { const selectedVariant = e.detail && e.detail.selected; if (!selectedVariant) { return; } const {available} = selectedVariant; if (this.selectedVariantAvailable_ !== available) { this.selectedVariantAvailable_ = available; this.clearTimer_(); if (available) { this.restartTimer_(); } } }); } /** @private */ removeAnimationClass_() { this.win.setTimeout(() => { this.addToCartButton_.classList.remove(this.animationClass_); }, 1000); } /** @private */ handleButtonEffect_() { this.getAddToCartButton_(); if (!this.addToCartButton_) { return; } if (this.selectedVariantAvailable_) { ++this.animationExecutionCount_; this.addToCartButton_.classList.add(this.animationClass_); if (this.iterationCount_ === 1) { this.removeAnimationClass_(); return; } this.setupTimer_(); } this.listenVariantChange_(); } } SPZ.defineElement(TAG, SpzCustomPainterButtonAnimation);