mirror of https://github.com/halo-dev/halo
👽 åˆ é™¤Anatoleä¸»é¢˜ä¸æ— 用的js
parent
c37dabbd97
commit
c6915903b2
|
@ -30,8 +30,6 @@
|
||||||
</#macro>
|
</#macro>
|
||||||
<#macro footer>
|
<#macro footer>
|
||||||
<script type="text/javascript" src="/anatole/source/js/jquery.min.js"></script>
|
<script type="text/javascript" src="/anatole/source/js/jquery.min.js"></script>
|
||||||
<script type="text/javascript" src="/anatole/source/js/jquery-migrate-1.2.1.min.js"></script>
|
|
||||||
<script type="text/javascript" src="/anatole/source/js/jquery.appear.min.js"></script>
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var url = location.href;
|
var url = location.href;
|
||||||
var urlstatus = false;
|
var urlstatus = false;
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,101 +0,0 @@
|
||||||
/*
|
|
||||||
* jQuery appear plugin
|
|
||||||
*
|
|
||||||
* Copyright (c) 2012 Andrey Sidorov
|
|
||||||
* licensed under MIT license.
|
|
||||||
*
|
|
||||||
* https://github.com/morr/jquery.appear/
|
|
||||||
*
|
|
||||||
* Version: 0.3.3
|
|
||||||
*/
|
|
||||||
(function($) {
|
|
||||||
var selectors = [];
|
|
||||||
|
|
||||||
var check_binded = false;
|
|
||||||
var check_lock = false;
|
|
||||||
var defaults = {
|
|
||||||
interval: 250,
|
|
||||||
force_process: false
|
|
||||||
}
|
|
||||||
var $window = $(window);
|
|
||||||
|
|
||||||
var $prior_appeared;
|
|
||||||
|
|
||||||
function process() {
|
|
||||||
check_lock = false;
|
|
||||||
for (var index = 0; index < selectors.length; index++) {
|
|
||||||
var $appeared = $(selectors[index]).filter(function() {
|
|
||||||
return $(this).is(':appeared');
|
|
||||||
});
|
|
||||||
|
|
||||||
$appeared.trigger('appear', [$appeared]);
|
|
||||||
|
|
||||||
if ($prior_appeared) {
|
|
||||||
var $disappeared = $prior_appeared.not($appeared);
|
|
||||||
$disappeared.trigger('disappear', [$disappeared]);
|
|
||||||
}
|
|
||||||
$prior_appeared = $appeared;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// "appeared" custom filter
|
|
||||||
$.expr[':']['appeared'] = function(element) {
|
|
||||||
var $element = $(element);
|
|
||||||
if (!$element.is(':visible')) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var window_left = $window.scrollLeft();
|
|
||||||
var window_top = $window.scrollTop();
|
|
||||||
var offset = $element.offset();
|
|
||||||
var left = offset.left;
|
|
||||||
var top = offset.top;
|
|
||||||
|
|
||||||
if (top + $element.height() >= window_top &&
|
|
||||||
top - ($element.data('appear-top-offset') || 0) <= window_top + $window.height() &&
|
|
||||||
left + $element.width() >= window_left &&
|
|
||||||
left - ($element.data('appear-left-offset') || 0) <= window_left + $window.width()) {
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$.fn.extend({
|
|
||||||
// watching for element's appearance in browser viewport
|
|
||||||
appear: function(options) {
|
|
||||||
var opts = $.extend({}, defaults, options || {});
|
|
||||||
var selector = this.selector || this;
|
|
||||||
if (!check_binded) {
|
|
||||||
var on_check = function() {
|
|
||||||
if (check_lock) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
check_lock = true;
|
|
||||||
|
|
||||||
setTimeout(process, opts.interval);
|
|
||||||
};
|
|
||||||
|
|
||||||
$(window).scroll(on_check).resize(on_check);
|
|
||||||
check_binded = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (opts.force_process) {
|
|
||||||
setTimeout(process, opts.interval);
|
|
||||||
}
|
|
||||||
selectors.push(selector);
|
|
||||||
return $(selector);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$.extend({
|
|
||||||
// force elements's appearance check
|
|
||||||
force_appear: function() {
|
|
||||||
if (check_binded) {
|
|
||||||
process();
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
})(jQuery);
|
|
|
@ -1 +0,0 @@
|
||||||
!function(e){function r(){n=!1;for(var r=0;r<i.length;r++){var a=e(i[r]).filter(function(){return e(this).is(":appeared")});if(a.trigger("appear",[a]),t){var o=t.not(a);o.trigger("disappear",[o])}t=a}}var t,i=[],a=!1,n=!1,o={interval:250,force_process:!1},f=e(window);e.expr[":"].appeared=function(r){var t=e(r);if(!t.is(":visible"))return!1;var i=f.scrollLeft(),a=f.scrollTop(),n=t.offset(),o=n.left,p=n.top;return p+t.height()>=a&&p-(t.data("appear-top-offset")||0)<=a+f.height()&&o+t.width()>=i&&o-(t.data("appear-left-offset")||0)<=i+f.width()?!0:!1},e.fn.extend({appear:function(t){var f=e.extend({},o,t||{}),p=this.selector||this;if(!a){var s=function(){n||(n=!0,setTimeout(r,f.interval))};e(window).scroll(s).resize(s),a=!0}return f.force_process&&setTimeout(r,f.interval),i.push(p),e(p)}}),e.extend({force_appear:function(){return a?(r(),!0):!1}})}(jQuery);
|
|
Loading…
Reference in New Issue