PageSourceSearch

https://www.inmet16.ru/inmet16ru/skin/jquery.tinycarousel.js

js inmet16.ru collected 2026-10-08 14:17:08 UTC 8,962 bytes, 281 lines download raw bytes

1;
2function init_tiny(c,d) {
3  if($('*').is(c + ' .object')) {
4          if ($('*').is(c + ' .classNavigator')) {
5             $(c + ' .classNavigator').remove();
6          }
7
8          $(c + ' '+ d).wrapInner('<div id="slider1"><div class="viewport"><div class="overview"></div></div></div>');
9
10
11          $(c +' #slider1 .viewport .overview .object').wrap('<li></li>');
12          
13//          $('#slider1 .viewport .overview a').wrap('<li></li>');
14
15          $('<a class="buttons prev" href="#">&lt;</a>').prependTo('#slider1');
16          $('<a class="buttons next" href="#">&gt;</a>').appendTo($('#slider1'));
17/*
18          $('<a class="buttons prev" href="#">&lt;</a>').prependTo('#slider1 .viewport');
19          $('<a class="buttons next" href="#">&gt;</a>').appendTo($('#slider1 .viewport'));
20*/
21          bullets='<ul class="bullets">';
22          i=0;
23          $( "#slider1 .viewport .overview li" ).each(function() {
24                  k=i+1;
25                  bullets = bullets + '<li><a href="#" class="bullet" data-slide="' + i + '">' + k + '</a></li>';
26                  i=k;
27
28          });
29          bullets = bullets + '</ul>';
30          $(bullets).appendTo($('#slider1'));
31          
32  }
33}
34
35(function(factory)
36{
37    if (typeof define === 'function' && define.amd)
38    {
39        define(jQuery || ['jquery'], factory);
40    }
41    else if (typeof exports === 'object')
42    {
43        factory(jQuery || require('jquery'));
44    }
45    else
46    {
47        factory(jQuery);
48    }
49}
50
51(function($)
52{
53
54    var pluginName = "tinycarousel"
55    ,   defaults   =
56        {
57            start:          0      // The starting slide
58        ,   axis:           "x"    // vertical or horizontal scroller? ( x || y ).
59        ,   buttons:        true   // show left and right navigation buttons.
60        ,   bullets:        true  // is there a page number navigation present?
61        ,   interval:       false  // move to another block on intervals.
62        ,   intervalTime:   3000   // interval time in milliseconds.
63        ,   animation:      true   // false is instant, true is animate.
64        ,   animationTime:  1000   // how fast must the animation move in ms?
65        ,   infinite:       true   // infinite carousel.
66        }
67    ;
68
69
70    init_tiny('#contents .adap_imggallery .contentBody .links','div');
71
72    function Plugin($container, options)
73    {
74        this.options   = $.extend({}, defaults, options);
75        this._defaults = defaults;
76        this._name     = pluginName;
77
78        var self      = this
79        ,   $viewport = $container.find(".viewport:first")
80        ,   $overview = $container.find(".overview:first")
81        ,   $slides   = 0
82        ,   $next     = $container.find(".next:first")
83        ,   $prev     = $container.find(".prev:first")
84        ,   $bullets  = $container.find(".bullet")
85
86        ,   viewportSize    = 0
87        ,   contentStyle    = {}
88        ,   slidesVisible   = 0
89        ,   slideSize       = 0
90        ,   slideIndex      = 0
91
92        ,   isHorizontal  = this.options.axis === 'x'
93        ,   sizeLabel     = isHorizontal ? "Width" : "Height"
94        ,   posiLabel     = isHorizontal ? "left" : "top"
95        ,   intervalTimer = null
96        ;
97
98        this.slideCurrent = 0;
99        this.slidesTotal  = 0;
100
101        function initialize()
102        {
103            self.update();
104            self.move(self.slideCurrent);
105
106            setEvents();
107
108            return self;
109        }
110
111        this.update = function()
112        {
113            var w1 = $("#slider1 .viewport").width();
114            var wil = $("#contents .adap_imggallery .contentBody .links").width();
115/*            if (w1 > 1160) {sw1 = (w1 / 4) - 20;} else
116            if (w1 > 960) {sw1 = (w1 / 3) - 20;} else
117            if (w1 > 520) {sw1 = (w1 / 2) - 20;} else*/
118            {sw1 = w1 - 20;}
119        //alert(w1 + ' - ' + sw1);
120
121            $("#slider1 .overview li").css('width', sw1 + 'px');
122            $("#contents .adap_imggallery .contentBody .links .object").css('width', sw1 + 'px');
123
124            if($('*').is('#contents .adap_imggallery .contentBody .links .object')) 
125            {
126                  var hf = $("#slider1 .overview li .object img.objectImage").height();
127                  //alert(wil);
128                  if (hf==0) hf=468;
129                  hl=wil/4*3;
130                  if (hf>0)
131                  {
132                      $("#slider1 .viewport").css('height', hf + 'px');
133                      $("#slider1 .overview").css('height', hf + 'px');
134                      $("#slider1 .overview li").css('height', hf + 'px');
135                      $("#slider1 .overview li a").css('height', hf + 'px');
136                      $("#contents .adap_imggallery .contentBody .links .object").css('height', hf + 'px !important');
137                      $("#contents .adap_imggallery .contentBody .links .object").parent(".object").css('height', hl + 'px !important');
138                      //$("#contents .adap_imggallery .contentBody .links").css('padding-top', 75 + '%');
139                      $("#contents .adap_imggallery .contentBody .links").css('padding-top', 100 + '%');
140                      //alert(hl);
141                  }
142            }
143
144            $overview.find(".mirrored").remove();
145
146            $slides          = $overview.children();
147            viewportSize     = $viewport[0]["offset" + sizeLabel];
148            slideSize        = $slides.first()["outer" + sizeLabel](true);
149
150
151            
152            self.slidesTotal = $slides.length;
153            slideCurrent     = self.options.start || 0;
154            slidesVisible    = Math.ceil(viewportSize / slideSize);
155
156            $overview.append($slides.slice(0, slidesVisible).clone().addClass("mirrored"));
157            $overview.css(sizeLabel.toLowerCase(), slideSize * (self.slidesTotal + slidesVisible));
158
159            return self;
160        };
161
162        function setEvents()
163        {
164            if(self.options.buttons)
165            {
166                $prev.click(function()
167                {
168                    self.move(--slideIndex);
169
170                    return false;
171                });
172
173                $next.click(function()
174                {
175                    self.move(++slideIndex);
176
177                    return false;
178                });
179            }
180
181            $(window).resize(self.update);
182
183            if(self.options.bullets)
184            {
185                $container.on("click", ".bullet", function()
186                {
187                    self.move(slideIndex = +$(this).attr("data-slide"));
188
189                    return false;
190                });
191            }
192        }
193
194        this.start = function()
195        {
196            if(self.options.interval)
197            {
198                clearTimeout(intervalTimer);
199
200                intervalTimer = setTimeout(function()
201                {
202                    self.move(++slideIndex);
203
204                }, self.options.intervalTime);
205            }
206
207            return self;
208        };
209
210        this.stop = function()
211        {
212            clearTimeout(intervalTimer);
213
214            return self;
215        };
216
217        this.move = function(index)
218        {
219            slideIndex        = index;
220            self.slideCurrent = slideIndex % self.slidesTotal;
221
222            if(slideIndex < 0)
223            {
224                self.slideCurrent = slideIndex = self.slidesTotal - 1;
225                $overview.css(posiLabel, -(self.slidesTotal) * slideSize);
226            }
227
228            if(slideIndex > self.slidesTotal)
229            {
230                self.slideCurrent = slideIndex = 1;
231                $overview.css(posiLabel, 0);
232            }
233
234            contentStyle[posiLabel] = -slideIndex * slideSize;
235
236            $overview.animate(
237                contentStyle
238            ,   {
239                    queue    : false
240                ,   duration : self.options.animation ? self.options.animationTime : 0
241                ,   always : function()
242                    {
243                        $container.trigger("move", [$slides[self.slideCurrent], self.slideCurrent]);
244                    }
245            });
246
247            setButtons();
248            self.start();
249
250            return self;
251        };
252
253        function setButtons()
254        {
255            if(self.options.buttons && !self.options.infinite)
256            {
257                $prev.toggleClass("disable", self.slideCurrent <= 0);
258                $next.toggleClass("disable", self.slideCurrent >= self.slidesTotal - slidesVisible);
259            }
260
261            if(self.options.bullets)
262            {
263                $bullets.removeClass("active");
264                $($bullets[self.slideCurrent]).addClass("active");
265            }
266        }
267
268        return initialize();
269    }
270
271    $.fn[pluginName] = function(options)
272    {
273        return this.each(function()
274        {
275            if(!$.data(this, "plugin_" + pluginName))
276            {
277                $.data(this, "plugin_" + pluginName, new Plugin($(this), options));
278            }
279        });
280    };
281}));

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.