1(function ($) { 2 var currTooltip = null; 3 4 var adjustNewsHeight = function() { 5 var news = $('#news'); 6 7 var article = news.find('.pb-addon-article').first(); 8 9 var articleImageHeight = article.find('img').outerHeight(true); 10 var articleHeadlineHeight = article.find('h3').outerHeight(true); 11 12 news.find('.pb-addon-articles').height((articleImageHeight + articleHeadlineHeight)); 13 }; 14 15 $(window).on('resize', function () { 16 adjustNewsHeight(); 17 }); 18 19 $(window).on('load', function () { 20 adjustNewsHeight(); 21 22 $('#news').find('.pb-article-introtext').show(); 23 }); 24 25 $(document).on('click', '.sidebar-item', function () { 26 $(this).toggleClass('active'); 27 }); 28 29 $(document).on('mouseenter', '.sidebar-item', function () { 30 $(this).addClass('active'); 31 }); 32 33 $(document).on('mouseleave', '.sidebar-item', function () { 34 $(this).removeClass('active'); 35 }); 36 37 $(document).on('shown.bs.tooltip', function (e) { 38 if (currTooltip) { 39 currTooltip.tooltip('hide'); 40 } 41 42 currTooltip = $(e.target); 43 }); 44 45 $(document).on('click', '.show-accordion-button', function (e) { 46 var element = $(this); 47 48 $('.show-accordion-button.active').removeClass('active'); 49 element.addClass('active'); 50 51 $('.faq-accordion.active').removeClass('active'); 52 $(element.attr('href').replace('#', '.')).addClass('active'); 53 54 e.preventDefault(); 55 }); 56 57 $(document).on('click', '.pb-tab-title-action', function (e) { 58 $([document.documentElement, document.body]).animate({ 59 scrollTop: $('#product-product-detail-tab-content').offset().top - 200 60 }, 600); 61 }); 62 63 // Die Reiterliste der Produktseite laeuft beim Scrollen mit (siehe 64 // #product-product-detail-tab in custom.css). Wer weit unten im Text einen 65 // anderen Reiter waehlt, stand danach mitten im neuen Text - der Anfang lag 66 // ueber dem sichtbaren Bereich. Der Klick holt die Ansicht deshalb an den 67 // Anfang des Reiterinhalts zurueck: 100 px darueber, das sind die 80 px 68 // der klebenden Kopfleiste und etwas Luft. 69 // 70 // Das gilt fuer beide Leisten und auch fuer Verweise aus dem Text heraus: 71 // die loesen in js.js einen Klick auf den passenden Reiter aus, und der 72 // landet hier. 73 // 74 // Nur nach oben. Wer ohnehin schon weiter oben steht - etwa am Kopf der 75 // Seite -, soll nicht nach unten gezogen werden. 76 $(document).on('click', '#product-product-detail-tab a[data-toggle="pb-tab"], .c-tab-nav-bottom a', function () { 77 var content = $('#product-product-detail-tab-content'); 78 79 if (!content.length) { 80 return; 81 } 82 83 var target = content.offset().top - 100; 84 85 if ($(window).scrollTop() <= target) { 86 return; 87 } 88 89 $([document.documentElement, document.body]).animate({ scrollTop: target }, 400); 90 }); 91 92 // Verweise mit "#" als einzigem Ziel sind Schalter, keine Sprungmarken: 93 // die Filter der Bildergalerie, die Reiter auf der Kontaktseite. Ohne 94 // diesen Griff hängt der Browser bei jedem Klick ein "#" an die Adresse 95 // und springt an den Seitenanfang - man sucht danach die Stelle wieder, 96 // an der man gerade war. Der Klick selbst läuft weiter, nur der Sprung 97 // fällt weg. 98 $(document).on('click', 'a[href="#"], a[href=""]', function (e) { 99 e.preventDefault(); 100 }); 101}(jQuery));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.