byteoss 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +109 -0
- package/index.js +147 -0
- package/oss/059e300c-9447-401a-9160-bc09b94a5bd4.css +516 -0
- package/oss/0fb02e11-31af-4551-a92e-b4457ad4ab0d.svg +3 -0
- package/oss/139daa0c-24fd-4be3-b9c6-8e51f96f6b96.svg +3 -0
- package/oss/1600dbb0-15a5-483d-bdbc-84971697ad90.svg +15 -0
- package/oss/177f61e2-3422-4c87-8110-ff1615758f91.css +153 -0
- package/oss/18cab5b9-4981-4274-8c5f-1978588297b0.png +0 -0
- package/oss/1c9abd94-340f-4c18-92a3-d28c61a16bbb.js +936 -0
- package/oss/258f066d-7574-491d-ba06-0f2e67db0773.js +1 -0
- package/oss/28225623-cdb8-4d7b-afe7-a25b9cdf4c79.svg +4 -0
- package/oss/2b103172-c38e-4c9c-b67c-753ede400c6b.js +1 -0
- package/oss/2cd0609f-d7a7-4c53-a277-79e8dec5dfc6.svg +4 -0
- package/oss/332d0e76-3c05-4285-af16-13e9f9bbcbed.css +431 -0
- package/oss/36a32028-256f-465d-be90-a65d1df04a90.js +1 -0
- package/oss/370921ea-2b94-4c18-9d1a-785aa58bef86.js +770 -0
- package/oss/3e98311d-bbf6-40d6-82b7-52b710aca34a.css +198 -0
- package/oss/40117c3a-1925-4250-90bf-f3ef878ee97d.svg +3 -0
- package/oss/469b8af5-1826-4f55-826f-56d57a896563.js +1 -0
- package/oss/49f08903-6594-475c-aab6-4c15b41ebc3a.svg +28 -0
- package/oss/4a5a9153-2bd7-443c-b628-aee3d4d55fd6.js +300 -0
- package/oss/4f100f7b-f956-431f-93f9-1e9e3a103574.css +197 -0
- package/oss/4f14fb89-2a43-49d4-89fe-c245508b451f.js +1 -0
- package/oss/50863606-18e8-4eaa-b738-6e98b7ff791f.css +513 -0
- package/oss/54a1eff8-ecd1-4604-956e-91e461d0f704.js +705 -0
- package/oss/554a3dbe-14c7-4349-956a-236b08a149f6.css +124 -0
- package/oss/5cb13f6f-423d-41e9-a081-ce544bf322f1.css +513 -0
- package/oss/5fd8e893-8b05-452f-b914-26965c19fd31.svg +1 -0
- package/oss/6016b5f9-4473-44d9-9373-c761278cc244.js +2909 -0
- package/oss/630ebd92-9296-4c85-a18c-954545b9716b.mp4 +0 -0
- package/oss/66127685-903b-4261-bc3a-887459229b79.js +90 -0
- package/oss/6bf3a690-882e-47b2-a3bf-07600e1067d9.svg +1 -0
- package/oss/6d15d999-42a6-48f8-85dc-d6dd2547d33c.svg +10 -0
- package/oss/72ca2a33-968f-4bc4-ba39-417aca989e2a.svg +40 -0
- package/oss/74a7f15c-cf9e-41e5-a649-bc7a9960b89d.js +936 -0
- package/oss/754fca20-6995-4b15-bf56-2202c2107f41.svg +1 -0
- package/oss/7dbeba7d-92dc-4f24-981f-6ee5988326a3.js +90 -0
- package/oss/7ec89667-7160-44da-8c5d-8cb2e5b6ed51.css +144 -0
- package/oss/80254c08-1b12-4f32-bec9-b56251fb7b6e.svg +14 -0
- package/oss/80c9635a-2d99-483a-b46a-eec29d831dbc.svg +1 -0
- package/oss/83982b15-f2af-4c7d-98d1-9885c934adee.css +153 -0
- package/oss/842d27d8-4c7d-4655-bd81-d19376b9c779.ttf +0 -0
- package/oss/86e16498-0990-4f5f-9c78-919d6e901b3e.png +0 -0
- package/oss/871ce06b-adf2-4d23-893e-c929ed0dc660.css +1079 -0
- package/oss/875441a7-46aa-4510-b395-59d32129b643.js +84 -0
- package/oss/886aaec0-d95a-44c0-a809-b611c3a385bc.svg +1 -0
- package/oss/8870cb0a-075f-4296-8855-cf708905377f.js +51 -0
- package/oss/88a1fdfb-b313-4021-8c2e-97db3dddd4af.svg +26 -0
- package/oss/8bd1a260-f002-42d3-a288-9ec0270490ea.svg +14 -0
- package/oss/8d1ac209-5712-43a7-9d86-c4a1b4d6734a.json +1 -0
- package/oss/917711d3-9f92-4b63-804c-a17050b72502.svg +1 -0
- package/oss/92122f36-32a3-44ad-81f9-96427ad7d999.svg +4 -0
- package/oss/945aebff-92e3-4f5a-b3e1-9d891c525d95.js +19 -0
- package/oss/945aebff-92e3-4f5a-b3e1-9d891c525d95_bak.js +19 -0
- package/oss/94b77c89-093d-48ae-b363-9f6648f91ab6.css +2435 -0
- package/oss/9697873a-4c40-401e-addd-3736815acf10.svg +3 -0
- package/oss/9bd56993-3d11-4a5c-a682-a95e527da09e.svg +1 -0
- package/oss/9fa42c0c-617c-44a2-9bb9-aec8994af673.svg +1 -0
- package/oss/a25bc2e8-28e3-4bd2-b0cf-c4f577934119.svg +3 -0
- package/oss/a2e59c39-138a-4d1e-84c8-bc058454133f.js +434 -0
- package/oss/a5535c26-8363-4625-afa2-8fbbee4dab40.css +124 -0
- package/oss/a6a7c636-670b-4f99-aa6b-e5cb6f029327.ico +0 -0
- package/oss/a6f63612-b3d1-4aba-bf5f-0cd3055a7251.svg +1 -0
- package/oss/a85345e2-b625-4917-8c47-d85503226015.svg +12 -0
- package/oss/ab70067a-ed3f-4d8c-8776-cd1a7b67097d.svg +8 -0
- package/oss/abe3279f-b713-403f-b0d1-7efa24502c11.css +2251 -0
- package/oss/b10e7a02-f948-4c79-98a1-504ef025d37a.ttf +0 -0
- package/oss/b43dabdf-cf3d-4e74-aaec-46b451089b4b.svg +4 -0
- package/oss/b4e5962d-0b64-4667-89aa-bdbfc967f9d5.svg +12 -0
- package/oss/b7633fb4-4845-45b1-b516-b76bc0b31692.svg +10 -0
- package/oss/bd64bd8e-ad36-4b30-bc3f-047f0b5472af.eot +0 -0
- package/oss/be75e4b2-9d84-41a1-b2ad-941100c6eb9f.svg +1 -0
- package/oss/bf600662-21bc-427a-a3ff-c7148bfb7a37.css +516 -0
- package/oss/bktjgd.js +0 -0
- package/oss/bktjwb.js +0 -0
- package/oss/c1c43d05-3fe7-4f66-92c3-a4e673de15d2.css +126 -0
- package/oss/c40e78e1-28a9-403f-9bb6-6a61bb759f3c.svg +9 -0
- package/oss/c5e67efa-03ef-4285-9eb2-979d24b97b0a.js +505 -0
- package/oss/ca88122c-71f0-4bdb-801b-845c3e2416c0.js +57 -0
- package/oss/ce7d2a57-04d3-4320-95de-a1acb29c2299.svg +1 -0
- package/oss/cf261a0a-f683-4e12-92c1-98c42038da76.js +301 -0
- package/oss/d13ba061-af1c-420f-a700-4a8c175a6d90.js +51 -0
- package/oss/d820804f-af30-4364-b882-9d7b23e98353.js +1 -0
- package/oss/dae77962-f0f3-487f-bfff-1251e44b3d98.js +313 -0
- package/oss/db0b6693-9a13-4a89-9c67-82a5c2208ed9.svg +1 -0
- package/oss/dd3a7016-cf8c-493c-ba87-c7da470f9307.svg +1 -0
- package/oss/dd4c56f1-700e-49b8-a40f-530ed2e06934.svg +1 -0
- package/oss/de85749c-9ab2-4798-a080-1dafbd2bb89a.css +393 -0
- package/oss/dfd0db36-8259-4d6e-a426-7c1167c7657d.svg +18 -0
- package/oss/e082736c-726c-4029-b3ce-6c89d83ad9ce.css +3177 -0
- package/oss/e0efdb0b-2cf8-41fe-b862-7560a8d957e3.js +193 -0
- package/oss/e1d3a1a8-c200-47de-bba9-b92aa112010b.svg +1 -0
- package/oss/e937b5e0-2285-474e-84e7-5c478f305280.js +775 -0
- package/oss/ed850ceb-a7a3-47f4-9d2e-d6fd2666a8c9.js +936 -0
- package/oss/ee0c80ad-d7cb-464f-aa4a-a7f439d76ae8.js +665 -0
- package/oss/ef62fbf5-a876-4112-8062-c97b5341f1b9.css +653 -0
- package/oss/f343adb3-110f-445e-80b4-abca81ff558a.js +787 -0
- package/oss/f4d90992-79bf-4a51-a2d7-7d556fac63d3.js +1 -0
- package/oss/f59f0ec0-974b-496d-a518-dfb79e0ecec0.js +51 -0
- package/oss/f68472c9-1d02-451a-be1f-6d5f0fa2c6fd.css +145 -0
- package/oss/f7b46b4d-6311-4416-95b0-e18ad577c166.css +1 -0
- package/oss/home.css +459 -0
- package/oss/mjandjlbgd.js +0 -0
- package/oss/mjandjlbwb.js +0 -0
- package/package.json +17 -0
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
;(function(factory){
|
|
2
|
+
if(typeof define === 'function' && define.amd){ // AMD
|
|
3
|
+
// you may need to change `define([------>'jquery'<------], factory)`
|
|
4
|
+
// if you use zepto, change it rely name, such as `define(['zepto'], factory)`
|
|
5
|
+
define(['jquery'], factory)
|
|
6
|
+
// define(['zepto'], factory)
|
|
7
|
+
}else{ // Global
|
|
8
|
+
factory(window.jQuery || window.Zepto)
|
|
9
|
+
}
|
|
10
|
+
})(function($,undefined){
|
|
11
|
+
var w = window,
|
|
12
|
+
$window = $(w),
|
|
13
|
+
defaultOptions = {
|
|
14
|
+
threshold : 0,
|
|
15
|
+
failure_limit : 0,
|
|
16
|
+
event : 'scroll',
|
|
17
|
+
effect : 'show',
|
|
18
|
+
effect_params : null,
|
|
19
|
+
container : w,
|
|
20
|
+
data_attribute : 'original',
|
|
21
|
+
data_srcset_attribute : 'original-srcset',
|
|
22
|
+
skip_invisible : true,
|
|
23
|
+
appear : emptyFn,
|
|
24
|
+
load : emptyFn,
|
|
25
|
+
vertical_only : false,
|
|
26
|
+
check_appear_throttle_time : 300,
|
|
27
|
+
url_rewriter_fn : emptyFn,
|
|
28
|
+
no_fake_img_loader : false,
|
|
29
|
+
placeholder_data_img : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC',
|
|
30
|
+
// for IE6\7 that does not support data image
|
|
31
|
+
placeholder_real_img : 'https://ditu.baidu.com/yyfm/lazyload/0.0.1/img/placeholder.png'
|
|
32
|
+
// todo : 将某些属性用global来配置,而不是每次在$(selector).lazyload({})内配置
|
|
33
|
+
},
|
|
34
|
+
type // function
|
|
35
|
+
|
|
36
|
+
function emptyFn(){}
|
|
37
|
+
|
|
38
|
+
type = (function(){
|
|
39
|
+
var object_prototype_toString = Object.prototype.toString
|
|
40
|
+
return function(obj){
|
|
41
|
+
// todo: compare the speeds of replace string twice or replace a regExp
|
|
42
|
+
return object_prototype_toString.call(obj).replace('[object ','').replace(']','')
|
|
43
|
+
}
|
|
44
|
+
})()
|
|
45
|
+
|
|
46
|
+
function belowthefold($element, options){
|
|
47
|
+
var fold
|
|
48
|
+
if(options._$container == $window){
|
|
49
|
+
fold = ('innerHeight' in w ? w.innerHeight : $window.height()) + $window.scrollTop()
|
|
50
|
+
}else{
|
|
51
|
+
fold = options._$container.offset().top + options._$container.height()
|
|
52
|
+
}
|
|
53
|
+
return fold <= $element.offset().top - options.threshold
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function rightoffold($element, options){
|
|
57
|
+
var fold
|
|
58
|
+
if(options._$container == $window){
|
|
59
|
+
// Zepto do not support `$window.scrollLeft()` yet.
|
|
60
|
+
fold = $window.width() + ($.fn.scrollLeft?$window.scrollLeft():w.pageXOffset)
|
|
61
|
+
}else{
|
|
62
|
+
fold = options._$container.offset().left + options._$container.width()
|
|
63
|
+
}
|
|
64
|
+
return fold <= $element.offset().left - options.threshold
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function abovethetop($element, options){
|
|
68
|
+
var fold
|
|
69
|
+
if(options._$container == $window){
|
|
70
|
+
fold = $window.scrollTop()
|
|
71
|
+
}else{
|
|
72
|
+
fold = options._$container.offset().top
|
|
73
|
+
}
|
|
74
|
+
// console.log('abovethetop fold '+ fold)
|
|
75
|
+
// console.log('abovethetop $element.height() '+ $element.height())
|
|
76
|
+
return fold >= $element.offset().top + options.threshold + $element.height()
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function leftofbegin($element, options){
|
|
80
|
+
var fold
|
|
81
|
+
if(options._$container == $window){
|
|
82
|
+
// Zepto do not support `$window.scrollLeft()` yet.
|
|
83
|
+
fold = $.fn.scrollLeft?$window.scrollLeft():w.pageXOffset
|
|
84
|
+
}else{
|
|
85
|
+
fold = options._$container.offset().left
|
|
86
|
+
}
|
|
87
|
+
return fold >= $element.offset().left + options.threshold + $element.width()
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function checkAppear($elements, options){
|
|
91
|
+
var counter = 0
|
|
92
|
+
$elements.each(function(i,e){
|
|
93
|
+
var $element = $elements.eq(i)
|
|
94
|
+
if(($element.width() <= 0 && $element.height() <= 0) || $element.css('display') === 'none'){
|
|
95
|
+
return
|
|
96
|
+
}
|
|
97
|
+
function appear(){
|
|
98
|
+
$element.trigger('_lazyload_appear')
|
|
99
|
+
// if we found an image we'll load, reset the counter
|
|
100
|
+
counter = 0
|
|
101
|
+
}
|
|
102
|
+
// If vertical_only is set to true, only check the vertical to decide appear or not
|
|
103
|
+
// In most situations, page can only scroll vertically, set vertical_only to true will improve performance
|
|
104
|
+
if(options.vertical_only){
|
|
105
|
+
if(abovethetop($element, options)){
|
|
106
|
+
// Nothing.
|
|
107
|
+
}else if(!belowthefold($element, options)){
|
|
108
|
+
appear()
|
|
109
|
+
}else{
|
|
110
|
+
if(++counter > options.failure_limit){
|
|
111
|
+
return false
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}else{
|
|
115
|
+
if(abovethetop($element, options) || leftofbegin($element, options)){
|
|
116
|
+
// Nothing.
|
|
117
|
+
}else if(!belowthefold($element, options) && !rightoffold($element, options)){
|
|
118
|
+
appear()
|
|
119
|
+
}else{
|
|
120
|
+
if(++counter > options.failure_limit){
|
|
121
|
+
return false
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
})
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// Remove image from array so it is not looped next time.
|
|
129
|
+
function getUnloadElements($elements){
|
|
130
|
+
return $elements.filter(function(i,e){
|
|
131
|
+
return !$elements.eq(i)._lazyload_loadStarted
|
|
132
|
+
})
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// throttle : https://github.com/component/throttle , MIT License
|
|
136
|
+
function throttle (func, wait) {
|
|
137
|
+
var ctx, args, rtn, timeoutID // caching
|
|
138
|
+
var last = 0
|
|
139
|
+
|
|
140
|
+
return function throttled () {
|
|
141
|
+
ctx = this
|
|
142
|
+
args = arguments
|
|
143
|
+
var delta = new Date() - last
|
|
144
|
+
if (!timeoutID)
|
|
145
|
+
if (delta >= wait) call()
|
|
146
|
+
else timeoutID = setTimeout(call, wait - delta)
|
|
147
|
+
return rtn
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function call () {
|
|
151
|
+
timeoutID = 0
|
|
152
|
+
last = +new Date()
|
|
153
|
+
rtn = func.apply(ctx, args)
|
|
154
|
+
ctx = null
|
|
155
|
+
args = null
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if(!$.fn.hasOwnProperty('lazyload')){
|
|
160
|
+
|
|
161
|
+
$.fn.lazyload = function(options){
|
|
162
|
+
var $elements = this,
|
|
163
|
+
isScrollEvent,
|
|
164
|
+
isScrollTypeEvent,
|
|
165
|
+
throttleCheckAppear
|
|
166
|
+
|
|
167
|
+
if(!$.isPlainObject(options)){
|
|
168
|
+
options = {}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
$.each(defaultOptions,function(k,v){
|
|
172
|
+
if($.inArray(k,['threshold','failure_limit','check_appear_throttle_time']) != -1){ // these params can be a string
|
|
173
|
+
if(type(options[k]) == 'String'){
|
|
174
|
+
options[k] = parseInt(options[k],10)
|
|
175
|
+
}else{
|
|
176
|
+
options[k] = v
|
|
177
|
+
}
|
|
178
|
+
}else if(k == 'container'){ // options.container can be a seletor string \ dom \ jQuery object
|
|
179
|
+
if(options.hasOwnProperty(k)){
|
|
180
|
+
if(options[k] == w || options[k] == document){
|
|
181
|
+
options._$container = $window
|
|
182
|
+
}else{
|
|
183
|
+
options._$container = $(options[k])
|
|
184
|
+
}
|
|
185
|
+
}else{
|
|
186
|
+
options._$container = $window
|
|
187
|
+
}
|
|
188
|
+
delete options.container
|
|
189
|
+
}else if(defaultOptions.hasOwnProperty(k) && (!options.hasOwnProperty(k) || (type(options[k]) != type(defaultOptions[k])))){
|
|
190
|
+
options[k] = v
|
|
191
|
+
}
|
|
192
|
+
})
|
|
193
|
+
|
|
194
|
+
isScrollEvent = options.event == 'scroll'
|
|
195
|
+
throttleCheckAppear = options.check_appear_throttle_time == 0?
|
|
196
|
+
checkAppear
|
|
197
|
+
:throttle(checkAppear,options.check_appear_throttle_time)
|
|
198
|
+
|
|
199
|
+
// isScrollTypeEvent cantains custom scrollEvent . Such as 'scrollstart' & 'scrollstop'
|
|
200
|
+
// https://github.com/search?utf8=%E2%9C%93&q=scrollstart
|
|
201
|
+
isScrollTypeEvent = isScrollEvent || options.event == 'scrollstart' || options.event == 'scrollstop'
|
|
202
|
+
|
|
203
|
+
$elements.each(function(i,e){
|
|
204
|
+
var element = this,
|
|
205
|
+
$element = $elements.eq(i),
|
|
206
|
+
placeholderSrc = $element.attr('src'),
|
|
207
|
+
originalSrcInAttr = $element.attr('data-'+options.data_attribute), // `data-original` attribute value
|
|
208
|
+
originalSrc = options.url_rewriter_fn == emptyFn?
|
|
209
|
+
originalSrcInAttr:
|
|
210
|
+
options.url_rewriter_fn.call(element,$element,originalSrcInAttr),
|
|
211
|
+
originalSrcset = $element.attr('data-'+options.data_srcset_attribute),
|
|
212
|
+
isImg = $element.is('img')
|
|
213
|
+
|
|
214
|
+
if($element._lazyload_loadStarted == true || placeholderSrc == originalSrc){
|
|
215
|
+
$element._lazyload_loadStarted = true
|
|
216
|
+
$elements = getUnloadElements($elements)
|
|
217
|
+
return
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
$element._lazyload_loadStarted = false
|
|
221
|
+
|
|
222
|
+
// If element is an img and no src attribute given, use placeholder.
|
|
223
|
+
if(isImg && !placeholderSrc){
|
|
224
|
+
// For browsers that do not support data image.
|
|
225
|
+
$element.one('error',function(){ // `on` -> `one` : IE6 triggered twice error event sometimes
|
|
226
|
+
$element.attr('src',options.placeholder_real_img)
|
|
227
|
+
}).attr('src',options.placeholder_data_img)
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// When appear is triggered load original image.
|
|
231
|
+
$element.one('_lazyload_appear',function(){
|
|
232
|
+
var effectParamsIsArray = $.isArray(options.effect_params),
|
|
233
|
+
effectIsNotImmediacyShow
|
|
234
|
+
function loadFunc(){
|
|
235
|
+
// In most situations, the effect is immediacy show, at this time there is no need to hide element first
|
|
236
|
+
// Hide this element may cause css reflow, call it as less as possible
|
|
237
|
+
if(effectIsNotImmediacyShow){
|
|
238
|
+
// todo: opacity:0 for fadeIn effect
|
|
239
|
+
$element.hide()
|
|
240
|
+
}
|
|
241
|
+
if(isImg){
|
|
242
|
+
// attr srcset first
|
|
243
|
+
if(originalSrcset){
|
|
244
|
+
$element.attr('srcset', originalSrcset)
|
|
245
|
+
}
|
|
246
|
+
if(originalSrc){
|
|
247
|
+
$element.attr('src', originalSrc)
|
|
248
|
+
}
|
|
249
|
+
}else{
|
|
250
|
+
$element.css('background-image','url("' + originalSrc + '")')
|
|
251
|
+
}
|
|
252
|
+
if(effectIsNotImmediacyShow){
|
|
253
|
+
$element[options.effect].apply($element,effectParamsIsArray?options.effect_params:[])
|
|
254
|
+
}
|
|
255
|
+
$elements = getUnloadElements($elements)
|
|
256
|
+
}
|
|
257
|
+
if(!$element._lazyload_loadStarted){
|
|
258
|
+
effectIsNotImmediacyShow = (options.effect != 'show' && $.fn[options.effect] && (!options.effect_params || (effectParamsIsArray && options.effect_params.length == 0)))
|
|
259
|
+
if(options.appear != emptyFn){
|
|
260
|
+
options.appear.call(element, $element, $elements.length, options)
|
|
261
|
+
}
|
|
262
|
+
$element._lazyload_loadStarted = true
|
|
263
|
+
if(options.no_fake_img_loader || originalSrcset){
|
|
264
|
+
if(options.load != emptyFn){
|
|
265
|
+
$element.one('load',function(){
|
|
266
|
+
options.load.call(element, $element, $elements.length, options)
|
|
267
|
+
})
|
|
268
|
+
}
|
|
269
|
+
loadFunc()
|
|
270
|
+
}else{
|
|
271
|
+
$('<img />').one('load', function(){ // `on` -> `one` : IE6 triggered twice load event sometimes
|
|
272
|
+
loadFunc()
|
|
273
|
+
if(options.load != emptyFn){
|
|
274
|
+
options.load.call(element, $element, $elements.length, options)
|
|
275
|
+
}
|
|
276
|
+
}).attr('src',originalSrc)
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
})
|
|
280
|
+
|
|
281
|
+
// When wanted event is triggered load original image
|
|
282
|
+
// by triggering appear.
|
|
283
|
+
if (!isScrollTypeEvent){
|
|
284
|
+
$element.on(options.event, function(){
|
|
285
|
+
if (!$element._lazyload_loadStarted){
|
|
286
|
+
$element.trigger('_lazyload_appear')
|
|
287
|
+
}
|
|
288
|
+
})
|
|
289
|
+
}
|
|
290
|
+
})
|
|
291
|
+
|
|
292
|
+
// Fire one scroll event per scroll. Not one scroll event per image.
|
|
293
|
+
if(isScrollTypeEvent){
|
|
294
|
+
options._$container.on(options.event, function(){
|
|
295
|
+
throttleCheckAppear($elements, options)
|
|
296
|
+
})
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// Check if something appears when window is resized.
|
|
300
|
+
// Force initial check if images should appear when window is onload.
|
|
301
|
+
$window.on('resize load', function(){
|
|
302
|
+
throttleCheckAppear($elements, options)
|
|
303
|
+
})
|
|
304
|
+
|
|
305
|
+
// Force initial check if images should appear.
|
|
306
|
+
$(function(){
|
|
307
|
+
throttleCheckAppear($elements, options)
|
|
308
|
+
})
|
|
309
|
+
|
|
310
|
+
return this
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
})
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg t="1630558286796" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5187" width="32" height="32"><path d="M546.901333 314.282667a46.805333 46.805333 0 0 0-69.802666 0l-296.021334 340.736c-24.32 28.032-3.328 70.314667 34.944 70.314666h591.957334c38.272 0 59.306667-42.282667 34.944-70.314666l-296.021334-340.736z" p-id="5188" fill="#01aaff"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg t="1630558107204" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3385" width="32" height="32"><path d="M568.889116 0l0 455.110884 455.108837 0L1023.997953 0 568.889116 0zM967.109349 398.222279l-341.333674 0L625.775674 56.888605l341.333674 0L967.109349 398.222279zM113.778233 341.332651l227.555442 0L341.333674 113.777209 113.778233 113.777209 113.778233 341.332651zM0.001023 1023.998977l455.110884 0L455.111907 568.888093 0.001023 568.888093 0.001023 1023.998977zM56.889628 625.777721l341.333674 0 0 341.333674L56.889628 967.111395 56.889628 625.777721zM910.220744 113.777209 682.665302 113.777209l0 227.555442 227.555442 0L910.220744 113.777209zM0.001023 455.110884l455.110884 0L455.111907 0 0.001023 0 0.001023 455.110884zM56.889628 56.888605l341.333674 0 0 341.333674L56.889628 398.222279 56.889628 56.888605zM910.220744 1023.998977l113.778233 0L1023.998977 796.443535 910.220744 796.443535 910.220744 1023.998977zM910.220744 682.665302l113.778233 0L1023.998977 568.888093 910.220744 568.888093 910.220744 682.665302zM113.778233 910.220744l227.555442 0L341.333674 682.665302 113.778233 682.665302 113.778233 910.220744zM739.553907 568.888093 568.889116 568.888093l0 170.666837 170.664791 0 0 56.888605 113.778233 0L853.332139 682.665302 739.553907 682.665302 739.553907 568.888093zM568.889116 1023.998977 796.442512 1023.998977 796.442512 910.220744 568.889116 910.220744 568.889116 1023.998977z" p-id="3386" fill="#8a8a8a"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg t="1630555956506" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8113" width="32" height="32"><path d="M576 186.368v-51.2a31.232 31.232 0 0 0-47.104-27.136L363.008 204.8a31.232 31.232 0 0 0 0 51.2l165.888 97.28a31.232 31.232 0 0 0 47.104-27.136v-32.768a229.376 229.376 0 1 1-256 80.896 51.2 51.2 0 0 0-81.92-61.44 332.8 332.8 0 1 0 336.384-126.464z" p-id="8114" fill="#8a8a8a"></path></svg>
|