PageSourceSearch

https://www.xn--forbrukslnoversikt-dub.com/wp-content/themes/best-…?ver=3c75e06f778f6f1fd27739c2fb7c3fac

js xn--forbrukslnoversikt-dub.com collected 2026-10-09 22:41:51 UTC 9,674 bytes, 320 lines download raw bytes

vendor: 5,371 bytes, lines 1-165
1/*!
2 * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/)
3 */
4
5/*!
6 * Bootstrap v3.4.1 (https://getbootstrap.com/)
7 * Copyright 2011-2021 Twitter, Inc.
8 * Licensed under the MIT license
9 */
10
11if (typeof jQuery === 'undefined') {
12  throw new Error('Bootstrap\'s JavaScript requires jQuery')
13}
14+function ($) {
15  'use strict';
16  var version = $.fn.jquery.split(' ')[0].split('.')
17  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {
18    throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')
19  }
20}(jQuery);
21
22/* ========================================================================
23 * Bootstrap: carousel.js v3.4.1
24 * https://getbootstrap.com/docs/3.4/javascript/#carousel
25 * ========================================================================
26 * Copyright 2011-2019 Twitter, Inc.
27 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
28 * ======================================================================== */
29
30
31+function ($) {
32  'use strict';
33
34  // CAROUSEL CLASS DEFINITION
35  // =========================
36
37  var Carousel = function (element, options) {
38    this.$element    = $(element)
39    this.$indicators = this.$element.find('.carousel-indicators')
40    this.options     = options
41    this.paused      = null
42    this.sliding     = null
43    this.interval    = null
44    this.$active     = null
45    this.$items      = null
46
47    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
48
49    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
50      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
51      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
52  }
53
54  Carousel.VERSION  = '3.4.1'
55
56  Carousel.TRANSITION_DURATION = 600
57
58  Carousel.DEFAULTS = {
59    interval: 5000,
60    pause: 'hover',
61    wrap: true,
62    keyboard: true
63  }
64
65  Carousel.prototype.keydown = function (e) {
66    if (/input|textarea/i.test(e.target.tagName)) return
67    switch (e.which) {
68      case 37: this.prev(); break
69      case 39: this.next(); break
70      default: return
71    }
72
73    e.preventDefault()
74  }
75
76  Carousel.prototype.cycle = function (e) {
77    e || (this.paused = false)
78
79    this.interval && clearInterval(this.interval)
80
81    this.options.interval
82      && !this.paused
83      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
84
85    return this
86  }
87
88  Carousel.prototype.getItemIndex = function (item) {
89    this.$items = item.parent().children('.item')
90    return this.$items.index(item || this.$active)
91  }
92
93  Carousel.prototype.getItemForDirection = function (direction, active) {
94    var activeIndex = this.getItemIndex(active)
95    var willWrap = (direction == 'prev' && activeIndex === 0)
96                || (direction == 'next' && activeIndex == (this.$items.length - 1))
97    if (willWrap && !this.options.wrap) return active
98    var delta = direction == 'prev' ? -1 : 1
99    var itemIndex = (activeIndex + delta) % this.$items.length
100    return this.$items.eq(itemIndex)
101  }
102
103  Carousel.prototype.to = function (pos) {
104    var that        = this
105    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
106
107    if (pos > (this.$items.length - 1) || pos < 0) return
108
109    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
110    if (activeIndex == pos) return this.pause().cycle()
111
112    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
113  }
114
115  Carousel.prototype.pause = function (e) {
116    e || (this.paused = true)
117
118    if (this.$element.find('.next, .prev').length && $.support.transition) {
119      this.$element.trigger($.support.transition.end)
120      this.cycle(true)
121    }
122
123    this.interval = clearInterval(this.interval)
124
125    return this
126  }
127
128  Carousel.prototype.next = function () {
129    if (this.sliding) return
130    return this.slide('next')
131  }
132
133  Carousel.prototype.prev = function () {
134    if (this.sliding) return
135    return this.slide('prev')
136  }
137
138  Carousel.prototype.slide = function (type, next) {
139    var $active   = this.$element.find('.item.active')
140    var $next     = next || this.getItemForDirection(type, $active)
141    var isCycling = this.interval
142    var direction = type == 'next' ? 'left' : 'right'
143    var that      = this
144
145    if ($next.hasClass('active')) return (this.sliding = false)
146
147    var relatedTarget = $next[0]
148    var slideEvent = $.Event('slide.bs.carousel', {
149      relatedTarget: relatedTarget,
150      direction: direction
151    })
152    this.$element.trigger(slideEvent)
153    if (slideEvent.isDefaultPrevented()) return
154
155    this.sliding = true
156
157    isCycling && this.pause()
158
159    if (this.$indicators.length) {
160      this.$indicators.find('.active').removeClass('active')
161      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
162      $nextIndicator && $nextIndicator.addClass('active')
163    }
164
165    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
vendor: 4,303 bytes, lines 166-320
166    if ($.support.transition && this.$element.hasClass('slide')) {
167      $next.addClass(type)
168      if (typeof $next === 'object' && $next.length) {
169        $next[0].offsetWidth // force reflow
170      }
171      $active.addClass(direction)
172      $next.addClass(direction)
173      $active
174        .one('bsTransitionEnd', function () {
175          $next.removeClass([type, direction].join(' ')).addClass('active')
176          $active.removeClass(['active', direction].join(' '))
177          that.sliding = false
178          setTimeout(function () {
179            that.$element.trigger(slidEvent)
180          }, 0)
181        })
182        .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
183    } else {
184      $active.removeClass('active')
185      $next.addClass('active')
186      this.sliding = false
187      this.$element.trigger(slidEvent)
188    }
189
190    isCycling && this.cycle()
191
192    return this
193  }
194
195
196  // CAROUSEL PLUGIN DEFINITION
197  // ==========================
198
199  function Plugin(option) {
200    return this.each(function () {
201      var $this   = $(this)
202      var data    = $this.data('bs.carousel')
203      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
204      var action  = typeof option == 'string' ? option : options.slide
205
206      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
207      if (typeof option == 'number') data.to(option)
208      else if (action) data[action]()
209      else if (options.interval) data.pause().cycle()
210    })
211  }
212
213  var old = $.fn.carousel
214
215  $.fn.carousel             = Plugin
216  $.fn.carousel.Constructor = Carousel
217
218
219  // CAROUSEL NO CONFLICT
220  // ====================
221
222  $.fn.carousel.noConflict = function () {
223    $.fn.carousel = old
224    return this
225  }
226
227
228  // CAROUSEL DATA-API
229  // =================
230
231  var clickHandler = function (e) {
232    var $this   = $(this)
233    var href    = $this.attr('href')
234    if (href) {
235      href = href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
236    }
237
238    var target  = $this.attr('data-target') || href
239    var $target = $(document).find(target)
240
241    if (!$target.hasClass('carousel')) return
242
243    var options = $.extend({}, $target.data(), $this.data())
244    var slideIndex = $this.attr('data-slide-to')
245    if (slideIndex) options.interval = false
246
247    Plugin.call($target, options)
248
249    if (slideIndex) {
250      $target.data('bs.carousel').to(slideIndex)
251    }
252
253    e.preventDefault()
254  }
255
256  $(document)
257    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
258    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
259
260  $(window).on('load', function () {
261    $('[data-ride="carousel"]').each(function () {
262      var $carousel = $(this)
263      Plugin.call($carousel, $carousel.data())
264    })
265  })
266
267}(jQuery);
268
269
270+function ($) {
271  'use strict';
272
273  // CSS TRANSITION SUPPORT (Shoutout: https://modernizr.com/)
274  // ============================================================
275
276  function transitionEnd() {
277    var el = document.createElement('bootstrap')
278
279    var transEndEventNames = {
280      WebkitTransition : 'webkitTransitionEnd',
281      MozTransition    : 'transitionend',
282      OTransition      : 'oTransitionEnd otransitionend',
283      transition       : 'transitionend'
284    }
285
286    for (var name in transEndEventNames) {
287      if (el.style[name] !== undefined) {
288        return { end: transEndEventNames[name] }
289      }
290    }
291
292    return false // explicit for ie8 (  ._.)
293  }
294
295  // https://blog.alexmaccaw.com/css-transitions
296  $.fn.emulateTransitionEnd = function (duration) {
297    var called = false
298    var $el = this
299    $(this).one('bsTransitionEnd', function () { called = true })
300    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
301    setTimeout(callback, duration)
302    return this
303  }
304
305  $(function () {
306    $.support.transition = transitionEnd()
307
308    if (!$.support.transition) return
309
310    $.event.special.bsTransitionEnd = {
311      bindType: $.support.transition.end,
312      delegateType: $.support.transition.end,
313      handle: function (e) {
314        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
315      }
316    }
317  })
318
319}(jQuery);
320

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.