Multifunktionaler Silikon-Lesezeichenclip

Kostenfreier weltweiter Versand
Kostenlose Rückgaben
Nachhaltig hergestellt
Sichere Zahlungen
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
specification
6PCS
Preis
€29.99
€19.99
speichern  €10.00
Menge
Beschreibung

🔥Der Preis ist begrenzt! 🔥 Sichern Sie sich Ihr Exemplar als limitierte Aktion!

  •  TIPPS:  Alle Produkte unterliegen einer strengen Qualitätsprüfung durch den Hersteller. Wir freuen uns über Ihre Zufriedenheit mit der Qualität unserer Produkte.
  • 😊 Wenn Sie mit der erhaltenen Ware nicht zufrieden sind, kontaktieren Sie uns bitte innerhalb von 15 Tagen nach Erhalt, wir werden Ihnen bestmöglich helfen!
  • 🚢 Versand >> Weltweiter Expressversand verfügbar. 
  • 🔥 98,9 % der Kunden kaufen 2 oder mehr

HAUPTEIGENSCHAFTEN

  • 【Elastisches Lesezeichen, damit Sie nie Ihren Platz verlieren】 Das Lesezeichen kann Ihnen automatisch folgen, um Seiten umzublättern und sich die Seiten, die Sie gelesen haben, sehr gut zu merken. Dies ist eine sehr praktische Funktion. Sie müssen sich keine Sorgen machen, dass Sie die Seiten vergessen, die Sie gelesen oder studiert haben.

  • 【Beste Geschenkidee】 Die Silikon-Lesezeichen sind ein aufmerksames Geschenk für Freunde und Familie. Es dient nicht nur als Lesezeichen, sondern kann auch als Geschenkkarte oder Dekoration verwendet werden. Seine Vielseitigkeit macht es zu einem perfekten Geschenk für jeden Anlass.

  • 【Weit verbreitet】 Diese intelligenten Lesezeichen sind nicht nur hilfreich beim Markieren von Buchseiten, sondern können auch problemlos in Romane, Lehrbücher, Tagebücher, Papiere, Notizbücher, Tagebücher, Zeitschriften und mehr eingefügt werden. Unsere Fingerpunkt-Lesezeichen aus Silikon eignen sich für eine Vielzahl von Personen und sind gleichermaßen ideal für Studenten, Schriftsteller und Leser.

  • 【Hochwertige Materialien】 Unser Lesezeichen ist sowohl modisch als auch praktisch und die leuchtenden Farben sind leicht zu erkennen. Besteht aus strapazierfähigem Metall und weichem, elastischem Silikon, verblasst auch nach längerem Gebrauch nicht und ist zur einfachen Wartung waschbar. Zur bequemen Verwendung kann es einfach an den Seiten oder vertikalen Kanten von Büchern befestigt werden.

SPEZIFIKATIONEN

  • Material: Kunststoff

  • Gewicht: 100G

Versand:

  • Kostenloser Versand über 50€.

  • Bestellungen werden innerhalb von 7 Werktagen nach der Bestellung bearbeitet und am nächsten Tag nach dem Bearbeitungstag versandt. Bestellungen werden in der Regel innerhalb von 7 bis 14 Werktagen geliefert.

Rückgabe: Schnelle Rückerstattung bei Unzufriedenheit innerhalb von 15 Tagen, 100 % Geld-zurück-Garantie.


Notiz:

  • Bitte erlauben Sie aufgrund manueller Messungen geringfügige Maßabweichungen.

  • Aufgrund der unterschiedlichen Anzeige- und Lichteffekte kann die tatsächliche Farbe des Artikels geringfügig von der auf dem Bild angezeigten Farbe abweichen. 

Customer Reviews

Here are what our customers say.

Kommentare veröffentlichen
Bewertungen der Kunden
Wow, du bist ganz unten angekommen
Neueste
Am meisten gemocht
Höchste Bewertungen
Niedrigste Bewertungen
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.