Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
YOHOOD
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Plain Diff
Browse Files
Authored by
lore-w
10 years ago
Commit
8e8751fec73ce970e2c1a5b6eefa323dd8b5ef07
2 parents
aad042f2
a43c7670
Merge branch 'develop' of git.dev.yoho.cn:web/yohood into develop
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
239 additions
and
10 deletions
res/js/mobile.js
res/js/plugins/lazyload.js
website/view/script/activity/planmobile.php
res/js/mobile.js
View file @
8e8751f
...
...
@@ -12,14 +12,14 @@ define('mobile', function(require, exports) {
swiper
=
require
(
"plugins/idangerous.swiper"
),
mlellipsis
=
require
(
"plugins/mlellipsis"
);
require
(
"plugins/imgZoom"
);
require
(
"plugins/lazyload"
);
exports
.
common
=
function
()
{
var
downloadH
,
scrollTop
;
if
(
$
(
'.header-download'
).
size
()
>
0
)
{
downloadH
=
$
(
'.header-download'
).
height
();
//顶部app下载位置
console
.
log
(
!
$
(
'.search-wrap input'
).
hasClass
(
'show'
));
//
console.log(!$('.search-wrap input').hasClass('show'));
$
(
window
).
on
(
'scroll'
,
function
()
{
scrollTop
=
$
(
window
).
scrollTop
();
...
...
@@ -33,9 +33,7 @@ define('mobile', function(require, exports) {
}
}
});
}
};
exports
.
index
=
function
()
{
...
...
@@ -152,12 +150,17 @@ define('mobile', function(require, exports) {
$
(
this
).
addClass
(
'current'
).
siblings
().
removeClass
(
'current'
);
$
(
'.main-layout'
).
removeClass
(
'current'
).
eq
(
nowIndex
).
addClass
(
'current'
);
});
$
=
require
(
'jquery'
);
$
(
'.scene-content'
).
find
(
'.layout-item'
).
each
(
function
()
{
//console.log($);
$
(
this
).
imgZoom
();
});
//获取手机屏幕高宽
var
width
=
$
(
window
).
width
();
//
$
(
"img.lazy"
).
each
(
function
(){
$
(
this
).
attr
(
"data-original"
,
$
(
this
).
attr
(
"data-original"
)
+
"?imageView/2/w/"
+
width
);
});
$
(
"img.lazy"
).
lazyload
();
};
exports
.
detail
=
function
()
{
...
...
res/js/plugins/lazyload.js
0 → 100644
View file @
8e8751f
define
(
'plugins/lazyload'
,
function
(
require
,
exports
)
{
var
$
=
require
(
"jquery"
);
var
$window
=
$
(
window
);
$
.
fn
.
lazyload
=
function
(
options
)
{
var
elements
=
this
;
var
$container
;
var
settings
=
{
threshold
:
0
,
failure_limit
:
0
,
event
:
"scroll"
,
effect
:
"show"
,
container
:
window
,
data_attribute
:
"original"
,
skip_invisible
:
false
,
appear
:
null
,
load
:
null
,
placeholder
:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"
};
function
update
()
{
var
counter
=
0
;
elements
.
each
(
function
()
{
var
$this
=
$
(
this
);
if
(
settings
.
skip_invisible
&&
!
$this
.
is
(
":visible"
))
{
return
;
}
if
(
$
.
abovethetop
(
this
,
settings
)
||
$
.
leftofbegin
(
this
,
settings
))
{
/* Nothing. */
}
else
if
(
!
$
.
belowthefold
(
this
,
settings
)
&&
!
$
.
rightoffold
(
this
,
settings
))
{
$this
.
trigger
(
"appear"
);
/* if we found an image we'll load, reset the counter */
counter
=
0
;
}
else
{
if
(
++
counter
>
settings
.
failure_limit
)
{
return
false
;
}
}
});
}
if
(
options
)
{
/* Maintain BC for a couple of versions. */
if
(
undefined
!==
options
.
failurelimit
)
{
options
.
failure_limit
=
options
.
failurelimit
;
delete
options
.
failurelimit
;
}
if
(
undefined
!==
options
.
effectspeed
)
{
options
.
effect_speed
=
options
.
effectspeed
;
delete
options
.
effectspeed
;
}
$
.
extend
(
settings
,
options
);
}
/* Cache container as jQuery as object. */
$container
=
(
settings
.
container
===
undefined
||
settings
.
container
===
window
)
?
$window
:
$
(
settings
.
container
);
/* Fire one scroll event per scroll. Not one scroll event per image. */
if
(
0
===
settings
.
event
.
indexOf
(
"scroll"
))
{
$container
.
bind
(
settings
.
event
,
function
()
{
return
update
();
});
}
this
.
each
(
function
()
{
var
self
=
this
;
var
$self
=
$
(
self
);
self
.
loaded
=
false
;
/* If no src attribute given use data:uri. */
if
(
$self
.
attr
(
"src"
)
===
undefined
||
$self
.
attr
(
"src"
)
===
false
)
{
if
(
$self
.
is
(
"img"
))
{
$self
.
attr
(
"src"
,
settings
.
placeholder
);
}
}
/* When appear is triggered load original image. */
$self
.
one
(
"appear"
,
function
()
{
if
(
!
this
.
loaded
)
{
if
(
settings
.
appear
)
{
var
elements_left
=
elements
.
length
;
settings
.
appear
.
call
(
self
,
elements_left
,
settings
);
}
$
(
"<img />"
)
.
bind
(
"load"
,
function
()
{
var
original
=
$self
.
attr
(
"data-"
+
settings
.
data_attribute
);
$self
.
hide
();
if
(
$self
.
is
(
"img"
))
{
$self
.
attr
(
"src"
,
original
);
}
else
{
$self
.
css
(
"background-image"
,
"url('"
+
original
+
"')"
);
}
$self
[
settings
.
effect
](
settings
.
effect_speed
);
self
.
loaded
=
true
;
/* Remove image from array so it is not looped next time. */
var
temp
=
$
.
grep
(
elements
,
function
(
element
)
{
return
!
element
.
loaded
;
});
elements
=
$
(
temp
);
if
(
settings
.
load
)
{
var
elements_left
=
elements
.
length
;
settings
.
load
.
call
(
self
,
elements_left
,
settings
);
}
})
.
attr
(
"src"
,
$self
.
attr
(
"data-"
+
settings
.
data_attribute
));
}
});
/* When wanted event is triggered load original image */
/* by triggering appear. */
if
(
0
!==
settings
.
event
.
indexOf
(
"scroll"
))
{
$self
.
bind
(
settings
.
event
,
function
()
{
if
(
!
self
.
loaded
)
{
$self
.
trigger
(
"appear"
);
}
});
}
});
/* Check if something appears when window is resized. */
$window
.
bind
(
"resize"
,
function
()
{
update
();
});
/* With IOS5 force loading images when navigating with back button. */
/* Non optimal workaround. */
if
((
/
(?:
iphone|ipod|ipad
)
.*os 5/gi
).
test
(
navigator
.
appVersion
))
{
$window
.
bind
(
"pageshow"
,
function
(
event
)
{
if
(
event
.
originalEvent
&&
event
.
originalEvent
.
persisted
)
{
elements
.
each
(
function
()
{
$
(
this
).
trigger
(
"appear"
);
});
}
});
}
/* Force initial check if images should appear. */
$
(
document
).
ready
(
function
()
{
update
();
});
return
this
;
};
/* Convenience methods in jQuery namespace. */
/* Use as $.belowthefold(element, {threshold : 100, container : window}) */
$
.
belowthefold
=
function
(
element
,
settings
)
{
var
fold
;
if
(
settings
.
container
===
undefined
||
settings
.
container
===
window
)
{
fold
=
(
window
.
innerHeight
?
window
.
innerHeight
:
$window
.
height
())
+
$window
.
scrollTop
();
}
else
{
fold
=
$
(
settings
.
container
).
offset
().
top
+
$
(
settings
.
container
).
height
();
}
return
fold
<=
$
(
element
).
offset
().
top
-
settings
.
threshold
;
};
$
.
rightoffold
=
function
(
element
,
settings
)
{
var
fold
;
if
(
settings
.
container
===
undefined
||
settings
.
container
===
window
)
{
fold
=
$window
.
width
()
+
$window
.
scrollLeft
();
}
else
{
fold
=
$
(
settings
.
container
).
offset
().
left
+
$
(
settings
.
container
).
width
();
}
return
fold
<=
$
(
element
).
offset
().
left
-
settings
.
threshold
;
};
$
.
abovethetop
=
function
(
element
,
settings
)
{
var
fold
;
if
(
settings
.
container
===
undefined
||
settings
.
container
===
window
)
{
fold
=
$window
.
scrollTop
();
}
else
{
fold
=
$
(
settings
.
container
).
offset
().
top
;
}
return
fold
>=
$
(
element
).
offset
().
top
+
settings
.
threshold
+
$
(
element
).
height
();
};
$
.
leftofbegin
=
function
(
element
,
settings
)
{
var
fold
;
if
(
settings
.
container
===
undefined
||
settings
.
container
===
window
)
{
fold
=
$window
.
scrollLeft
();
}
else
{
fold
=
$
(
settings
.
container
).
offset
().
left
;
}
return
fold
>=
$
(
element
).
offset
().
left
+
settings
.
threshold
+
$
(
element
).
width
();
};
$
.
inviewport
=
function
(
element
,
settings
)
{
return
!
$
.
rightoffold
(
element
,
settings
)
&&
!
$
.
leftofbegin
(
element
,
settings
)
&&
!
$
.
belowthefold
(
element
,
settings
)
&&
!
$
.
abovethetop
(
element
,
settings
);
};
/* Custom selectors for your convenience. */
/* Use as $("img:below-the-fold").something() or */
/* $("img").filter(":below-the-fold").something() which is faster */
$
.
extend
(
$
.
expr
[
":"
],
{
"below-the-fold"
:
function
(
a
)
{
return
$
.
belowthefold
(
a
,
{
threshold
:
0
});
},
"above-the-top"
:
function
(
a
)
{
return
!
$
.
belowthefold
(
a
,
{
threshold
:
0
});
},
"right-of-screen"
:
function
(
a
)
{
return
$
.
rightoffold
(
a
,
{
threshold
:
0
});
},
"left-of-screen"
:
function
(
a
)
{
return
!
$
.
rightoffold
(
a
,
{
threshold
:
0
});
},
"in-viewport"
:
function
(
a
)
{
return
$
.
inviewport
(
a
,
{
threshold
:
0
});
},
/* Maintain BC for couple of versions. */
"above-the-fold"
:
function
(
a
)
{
return
!
$
.
belowthefold
(
a
,
{
threshold
:
0
});
},
"right-of-fold"
:
function
(
a
)
{
return
$
.
rightoffold
(
a
,
{
threshold
:
0
});
},
"left-of-fold"
:
function
(
a
)
{
return
!
$
.
rightoffold
(
a
,
{
threshold
:
0
});
}
});
});
\ No newline at end of file
...
...
website/view/script/activity/planmobile.php
View file @
8e8751f
...
...
@@ -26,8 +26,8 @@
foreach(
$plans
as
$plan
):?>
<div class="
layout
-
item
clearfix
">
<div class="
image
-
box
">
<img data-original="
<?
php
echo
Lib_Images
::
getImageUrl
(
$plan
[
'pic'
],
'source'
,
'fragmentimg'
);
?>
?imageView/2/w/360"
src="
<?php
echo
Lib_Images
::
getImageUrl
(
$plan
[
'pic'
],
'source'
,
'fragmentimg'
);
?>
" alt="" >
<img class="
lazy
" data-original="
<?
php
echo
Lib_Images
::
getImageUrl
(
$plan
[
'pic'
],
'source'
,
'fragmentimg'
);
?>
"
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" alt="" >
</div>
<div
class=
"content"
>
<h2
class=
"volupia"
>
...
...
@@ -49,4 +49,4 @@
mobile
.
scene
();
})
</script>
<?php
$this
->
_endblock
();
?>
\ No newline at end of file
<?php
$this
->
_endblock
();
?>
...
...
Please
register
or
login
to post a comment