Product Description
(function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {
P.now('premium-module-5-comparison-table-scroller').execute(function(init){
if (init) {
return;
}
P.register('premium-module-5-comparison-table-scroller', function(){
return function() {
P.when('jQuery', 'a-popover', 'A', 'ready').execute(function($, popover, A) {
function initCompTable(module) {
/**
* Premium comparison table: popover trigger module
*/
var comparisonName = $(module).data('comparison-name');
(function() {
var $additionalInfo = $('.aplus-v2 .aplus-popover-trigger');
$additionalInfo.each(function(i, trigger) {
return popover.create(trigger, $(trigger).data());
});
$additionalInfo.hover(
function() {
$(this).focus();
}
);
})();
/**
* Premium comparison table: adjust column width module
*/
(function() {
var VISIBLE_COLUMNS = 4.2; /* How many visible columns on load */
var MIN_WIDTH = 230;
var getWidth = function() {
return $(this).outerWidth();
}
/* cache selectors */
var
$container = $('.aplus-v2 .comparison-table #'+comparisonName),
$header = $('.aplus-v2 .comparison-table #'+comparisonName+' td.attribute'),
$slider = $('.aplus-v2 .comparison-table #'+comparisonName+' .table-slider'),
$columns = $('.aplus-v2 .comparison-table #'+comparisonName+' .aplus-data-column'),
$activeColumn = $('.aplus-v2 .comparison-table #'+comparisonName+' .aplus-data-column.active.active-item');
/* Formula for determining desired column width */
var calculatedColumnWidth = Math.floor(
($container.innerWidth() - $header.innerWidth()) / VISIBLE_COLUMNS
);
var childWidths = $activeColumn.map(getWidth).get();
var maxChildWidth = Math.max(MIN_WIDTH, Math.max.apply(Math, childWidths));
var minColumnWidth = $columns.innerWidth();
/* set the min-width of each column to the calulated width or minWidth */
$columns.css(
'min-width',
Math.max(MIN_WIDTH, (calculatedColumnWidth {
for (let entry of entries) {
const bounds = entry.target.getBoundingClientRect().width;
const activeCellWidth = window.getComputedStyle(fixedColumn).left;
if (bounds + "px" !== activeCellWidth) {
const activeCells = document.querySelectorAll('.aplus-data-column.active');
activeCells.forEach(cell => cell.style.left = bounds + "px");
}
}
})
attributeColumnObserver.observe(header)
})();
/**
* Premium comparison table: top scroll bar
*/
(function() {
/* cache selectors */
var
$header = $('.aplus-v2 .comparison-table #'+comparisonName+' td.attribute'),
$fixedColumn = $('.aplus-v2 .comparison-table #'+comparisonName+' td.active'),
$scrollWrapperTop = $('.aplus-v2 .comparison-table #'+comparisonName+' .scroll-wrapper-top'),
$scrollWrapperBottom = $('.aplus-v2 .comparison-table #'+comparisonName+' .scroll-wrapper-bottom'),
$scrollWidth = $('.aplus-v2 .comparison-table #'+comparisonName+' .scroll-width'),
$scrollBar = $('.aplus-v2 .comparison-table #'+comparisonName+' .scroll-bar');
/* confirm fixed column exists and can add width to the total width of the scroll bar */
var fixedColumnWidth = $fixedColumn.innerWidth();
if ( fixedColumnWidth === null ) {
fixedColumnWidth = 0;
}
/* set width of scrollBar */
$scrollBar.css('width', $scrollWidth.innerWidth() + fixedColumnWidth + $header.innerWidth());
/* connect scrolls together */
$scrollWrapperTop.scroll(function() {
$scrollWrapperBottom.scrollLeft($scrollWrapperTop.scrollLeft());
});
$scrollWrapperBottom.scroll(function() {
$scrollWrapperTop.scrollLeft($scrollWrapperBottom.scrollLeft());
});
})();
}
$('.aplus-v2 .premium-aplus-module-5 .table-container').each(function(index, module) {
initCompTable(module);
});
});
}
});
});
}));
(function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {
P.now('premium-module-12-nav-carousel').execute(function(init) {
if (init) {
return;
}
P.register('premium-module-12-nav-carousel', function(){
return function() {
P.when('A', 'jQuery', 'a-carousel-framework', 'ready').execute(function (A, $, framework) {
function initiateCarousel(module) {
var MODULE_ID = $(module).data('module-id');
/**
* Carousel button element classname
* @const
*/
var GOTO_BTN_CLASS_NAME = "aplus-goto-btn-" + MODULE_ID;
/**
* Carousel button element active classname
* @const
*/
var GOTO_BTN_ACTIVE_CLASS_NAME = "aplus-active";
/**
* AUI name for aui carousel
* @const
*/
var CAROUSEL_NAME = "premium-aplus-12-carousel-" + MODULE_ID;
/**
* Module class name
* @const
*/
var MODULE_CLASS_NAME = ".aplus-v2 .premium-aplus-module-12";
/**
* Carousel text container class name
* @const
*/
var TEXT_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + " .aplus-carousel-text-container-" + MODULE_ID;
/**
* Carousel text hidden class name
* @const
*/
var TEXT_CONTAINER_HIDDEN = "aplus-hidden";
/**
* Carousel horizontal scroll container class name
* @const
*/
var HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + " .aplus-horizontal-scroll-container-" + MODULE_ID;
function showCarouselText(oldIndex, newIndex) {
var oldClass = TEXT_CONTAINER_CLASS_NAME + "-" + oldIndex;
var newClass= TEXT_CONTAINER_CLASS_NAME + "-" + newIndex;
$(oldClass).addClass(TEXT_CONTAINER_HIDDEN);
$(newClass).removeClass(TEXT_CONTAINER_HIDDEN);
}
function scrollToCarouselButton(scrollLeft) {
if ($(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).length) {
$(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).animate({scrollLeft}, 200);
}
}
/**
* Creates a CarouselButton class for provided carousel instance
* @param {object} carousel - AUI Carousel instance
* @returns {Class} - CarouselButton Class
*/
function CarouselButtonTemplate(carousel) {
/**
* Button for controlling the active slide
* @constructor
* @param {number} index - slide index
* @param {DOMElement} [elem] - optional DOM element to use as this objects DOM representation
*/
function CarouselButton(index, elem) {
var self = this;
this.index = index;
this.carousel = carousel;
/* create the button element */
this.elem = this.getElem(elem);
this.$elem = $(this.elem); /* store jquery version */
this.elem.addEventListener('click', self.handleClick.bind(self));
this.elem.setAttribute('role', 'tab');
/* add this object to the object manager */
CarouselButton.objects.byId[index] = this;
CarouselButton.objects.all.push(this);
}
/**
* Describe behavior for click events on this.elem
* @memberOf CarouselButton
*/
CarouselButton.prototype.handleClick = function(e) {
e.preventDefault();
this.carousel.gotoPage(this.index);
};
/**
* Enter active state
* @memberOf CarouselButton
*/
CarouselButton.prototype.activate = function() {
this.$elem.addClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'true');
};
/**
* Enter inactive state
* @memberOf CarouselButton
*/
CarouselButton.prototype.deactivate = function() {
this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'false');
};
/**
* Returns an existing or creates a new bound element for this object
* @memberOf CarouselButton
* @param {DOMElement} [elem] - optionally provide an existing element in the DOM to use
* @returns {DOMElement} - this objects DOM representation
*/
CarouselButton.prototype.getElem = function(elem) {
if (this.elem) return this.elem;
if (elem) return elem;
var createdElem = document.createElement('span');
createdElem.className = GOTO_BTN_CLASS_NAME;
return createdElem;
};
/** @const Object manager */
CarouselButton.objects = {
byId: {},
all: [],
};
return CarouselButton;
}
framework.onInit(CAROUSEL_NAME, function(carousel) {
/** @const {Class} */
var CarouselButton = CarouselButtonTemplate(carousel);
/* create carousel controls */
var $carouselBtns = $(safeClassSelector(GOTO_BTN_CLASS_NAME));
var btns = $carouselBtns.map(function(i, btnElem) {
return new CarouselButton(i + 1, btnElem);
});
/* activate first one */
CarouselButton.objects.byId[1].activate();
/* Listen to slide changes */
A.on("a:carousel:" + CAROUSEL_NAME + ":change:pageNumber", function (data) {
var newCarouselButton = CarouselButton.objects.byId[data.newValue];
var marginLeft = parseInt(getComputedStyle(newCarouselButton.elem).getPropertyValue('margin-left'));
var positionLeft = newCarouselButton.elem.offsetLeft - marginLeft;
newCarouselButton.activate();
CarouselButton.objects.byId[data.oldValue].deactivate();
scrollToCarouselButton(positionLeft);
showCarouselText(data.oldValue, data.newValue);
});
});
/**
* @returns {string} - css classname prefixed with module selector
*/
function safeClassSelector(className) {
return '.' + MODULE_CLASS_NAME + ' .' + className;
}
}
$('.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container').each(function (index, module) {
initiateCarousel(module);
});
framework.createAll();
framework.initializeAll();
});
}
})
});
}));
Previous page
Next page
1 High-Speed Compatible 2 Superior Durability 3 Universal Compatibility 4 Hard-Wearing Exterior
(function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {
P.when('premium-module-12-nav-carousel').execute(function(init){
init();
});
}));
New Nylon USB-C to USB-C Cable
Model Number: A8753 The Strong and Powerful Cable Bundle
High-Speed Compatible: Pair up with a 25W wall charger to charge a Samsung S20 to 55% in just 30 minutes. This device does not support 45W Samsung Super Fast Charging.
Strong and Stylish: The tough, yet stylish double-braided nylon exterior combines with a 5,000-bend lifespan for a cable that looks better and lasts longer than other brands.
Transfer Files in Seconds: Transfer movies, music, or an entire photo library in seconds with 480Mbps transfer speeds.
Compatible Devices (Limited Charging Speeds): MacBook Pro 16ʺ (2021), MacBook Pro 14ʺ (2021), MacBook Pro (2019/2018/2017/2016) 15.4ʺ, MacBook Pro 2020 16'', Lenovo ThinkPad X1 Series, HP Spectre Series. Samsung Galaxy S23+/S22+ Ultra/S22 Ultra
Fully Compatible Devices: iPad Pro 2021/2020/2019/2018, iPad Air 4, iPad mini 6, Galaxy S23/S22/S21/S20/S10/S10+/S10e/S8/ S8+/ S9/ S9+/Galaxy Note 20 Ultra/20/10+/10/9/8, MacBook Pro (2020/2019/2018/2017/2016) 13.3ʺ, MacBook Air 2020/2019/2018, Google Pixel 3/4/5/6, Google Nexus 6P, Nintendo Switch, Huawei Matebook X
Notes:
1.This is a USB C to USB C Cable, so it does not work with Lightning Port devices, or with USB A Charger.
2.This cable does not support media display.
3.Promptly store the cable after use to keep it off the ground and to protect against damage from liquids or debris.
compared
60W USB C Cable
Add to Cart
logShoppableMetrics("premium-module-5-comparison-table-scroller", true)
Anker Prime USB C Cable
logShoppableMetrics("premium-module-5-comparison-table-scroller", false)
Buying Options
240W Dirt-Free Cable
Add to Cart
logShoppableMetrics("premium-module-5-comparison-table-scroller", true)
240W Right Angle Cable
Add to Cart
logShoppableMetrics("premium-module-5-comparison-table-scroller", true)
100W USB C Cable
Add to Cart
logShoppableMetrics("premium-module-5-comparison-table-scroller", true)
100W Flow Cable
logShoppableMetrics("premium-module-5-comparison-table-scroller", false)
Buying Options
USB C to USB C Cable
logShoppableMetrics("premium-module-5-comparison-table-scroller", false)
Buying Options
Customer Reviews
4.7 out of 5 stars 40,745
4.8 out of 5 stars 631
4.8 out of 5 stars 251
4.6 out of 5 stars 1,471
4.7 out of 5 stars 18,082
4.8 out of 5 stars 14,676
4.6 out of 5 stars 779
Price
$9.99$9.99
$29.99$29.99
$9.99$9.99
$15.99$15.99
$12.99$12.99
$13.99$13.99
$18.99$18.99
Charging Technology
60W
240W
240W
240W
100W
100W
140W
Length
1ft/3ft/6ft
6ft
3ft/6ft
6ft
3ft/6ft/10ft
3ft/6ft
4ft
Material
Braided
PCR Braided
Braided
Braided
Braided
Silicone
Braided
Bend Lifespan
5000
300000
10000
10000
5000
25000
10000
Data Transfer Speed
480Mbps
480Mbps
480Mbps
480Mbps
480Mbps
480Mbps
480Mbps
Media Display
X
X
X
X
X
X
X
(function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {
P.when('premium-module-5-comparison-table-scroller', 'ready').execute(function(init){ init() });
}));
Brand
Anker
Connector Type
USB Type C
Cable Type
USB C to USB C Cable
Compatible Devices
Smartphone
Special Feature
Fast Charging、Braided