PageSourceSearch

https://mlife.by/bitrix/templates/portal/js/jquery.timer.js?14452482013116

js mlife.by collected 2026-10-03 21:33:09 UTC 3,116 bytes, 150 lines download raw bytes

1;(function($){
2	
3	// Êîëè÷åñòâî ñåêóíä â êàæäîì âðåìåííîì îòðåçêå
4	var days	= 24*60*60,
5		hours	= 60*60,
6		minutes	= 60;
7	
8	// Ñîçäàåì ïëàãèí
9	$.fn.countdownshare = function(prop){
10		
11		var options = $.extend({
12			callback	: function(){},
13			timestamp	: 0,
14			showtext : false,
15			text_d: false,
16			text_h: false,
17			text_m: false,
18			text_s: false
19		},prop);
20		
21		var left, d, h, m, s, positions;
22
23		// èíèöèàëèçèðóåì ïëàãèí
24		
25		initcount(this, options);
26		
27		positions = this.find('.position');
28		
29		(function tick(){
30			
31			// Îñòàëîñü âðåìåíè
32			left = Math.floor((options.timestamp - (new Date())) / 1000);
33			
34			if(left < 0){
35				left = 0;
36			}
37			
38			// Îñòàëîñü äíåé
39			d = Math.floor(left / days);
40			updateDuo(0, 1, d);
41			left -= d*days;
42			
43			// Îñòàëîñü ÷àñîâ
44			h = Math.floor(left / hours);
45			updateDuo(2, 3, h);
46			left -= h*hours;
47			
48			// Îñòàëîñü ìèíóò
49			m = Math.floor(left / minutes);
50			updateDuo(4, 5, m);
51			left -= m*minutes;
52			
53			// Îñòàëîñü ñåêóíä
54			s = left;
55			updateDuo(6, 7, s);
56			
57			// Âûçûâàåì âîçâðàòíóþ ôóíêöèþ ïîëüçîâàòåëÿ
58			options.callback(d, h, m, s);
59			
60			// Ïëàíèðóåì ñëåäóþùèé âûçîâ äàííîé ôóíêöèè ÷åðåç 1 ñåêóíäó
61			setTimeout(tick, 1000);
62		})();
63		
64		// Äàííàÿ ôóíêöèÿ îáíîâëÿåò äâå öèôðîâûå ïîçèöèè çà îäèí ðàç
65		function updateDuo(minor,major,value){
66			switchDigit(positions.eq(minor),Math.floor(value/10)%10);
67			switchDigit(positions.eq(major),value%10);
68		}
69		
70		return this;
71	};
72
73
74function initcount(elem, options){
75	elem.addClass('countdownHolderN');
76
77	// Ñîçäàåì ðàçìåòêó âíóòðè êîíòåéíåðà
78	$.each(['Days','Hours','Minutes','Seconds'],function(i){
79	
80		if(options.showtext) {
81			if(this=='Days')
82				var texxt = options.text_d;
83			if(this=='Hours')
84				var texxt = options.text_h;
85			if(this=='Minutes')
86				var texxt = options.text_m;
87			if(this=='Seconds')
88				var texxt = options.text_s;
89		}else{
90			var texxt = "";
91		}
92		/*
93		if(this=='Days'){
94			
95		}
96		else if(this=='Seconds') {
97			var texxt = '';
98		}
99		else{
100			var texxt = ':';
101		}*/
102		//var texxt = options.text_d;
103		elem.append('<span class="count'+this+'"></span>');
104		$('#'+elem.attr('id')+' .count'+this).html('<span class="position"><span class="digit static">0</span></span><span class="position"><span class="digit static">0</span></span><span class="countDiv countDiv'+i+'">'+texxt+'</span>');
105	});
106
107}
108
109// Ñîçäàåì àíèìèðîâàííûé ïåðåõîä ìåæäó äâóìÿ öèôðàìè
110function switchDigit(position,number){
111	
112	var digit = position.find('.digit')
113	
114	if(digit.is(':animated')){
115		return false;
116	}
117	
118	if(position.data('digit') == number){
119		// Ìû óæå âûâåëè äàííóþ öèôðó
120		return false;
121	}
122	
123	position.data('digit', number);
124	
125	var replacement = $('<span>',{
126		'class':'digit',
127		css:{
128			opacity:0
129		},
130		html:'<b class="bgc_item_'+number+'"></b>'
131	});
132	
133	// Êëàññ .static äîáàâëÿåòñÿ, êîãäà çàâåðøàåòñÿ àíèìàöèÿ.
134	// Âûïîëíåíèå èäåò áîëåå ïëàâíî.
135	
136	digit
137		.before(replacement)
138		.removeClass('static')
139		.animate({opacity:0}
139,'fast',function(){
140			digit.remove();
141		})
142
143	replacement
144		.delay(100)
145		.animate({opacity:1},'fast',function(){
146			replacement.addClass('static');
147		});
148}
149
150})(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.