first commit

This commit is contained in:
“dongming”
2025-12-19 22:16:01 +08:00
commit ebae1aa7e3
272 changed files with 143141 additions and 0 deletions

48
html/js/ajax-mail.js Normal file
View File

@@ -0,0 +1,48 @@
$(function() {
// Get the form.
var form = $('#contact-form');
// Get the messages div.
var formMessages = $('.form-message');
// Set up an event listener for the contact form.
$(form).submit(function(e) {
// Stop the browser from submitting the form.
e.preventDefault();
// Serialize the form data.
var formData = $(form).serialize();
// Submit the form using AJAX.
$.ajax({
type: 'POST',
url: $(form).attr('action'),
data: formData
})
.done(function(response) {
// Make sure that the formMessages div has the 'success' class.
$(formMessages).removeClass('error');
$(formMessages).addClass('success');
// Set the message text.
$(formMessages).text(response);
// Clear the form.
$('#contact-form input[type="text"],#contact-form input[type="email"],#contact-form textarea').val('');
})
.fail(function(data) {
// Make sure that the formMessages div has the 'error' class.
$(formMessages).removeClass('success');
$(formMessages).addClass('error');
// Set the message text.
if (data.responseText !== '') {
$(formMessages).text(data.responseText);
} else {
$(formMessages).text('Oops! An error occured and your message could not be sent.');
}
});
});
});

162
html/js/jquery.scrollUp.js Normal file
View File

@@ -0,0 +1,162 @@
(function ($, window, document) {
'use strict';
// Main function
$.fn.scrollUp = function (options) {
// Ensure that only one scrollUp exists
if (!$.data(document.body, 'scrollUp')) {
$.data(document.body, 'scrollUp', true);
$.fn.scrollUp.init(options);
}
};
// Init
$.fn.scrollUp.init = function (options) {
// Define vars
var o = $.fn.scrollUp.settings = $.extend({}, $.fn.scrollUp.defaults, options),
triggerVisible = false,
animIn, animOut, animSpeed, scrollDis, scrollEvent, scrollTarget, $self;
// Create element
if (o.scrollTrigger) {
$self = $(o.scrollTrigger);
} else {
$self = $('<a/>', {
id: o.scrollName,
href: '#top'
});
}
// Set scrollTitle if there is one
if (o.scrollTitle) {
$self.attr('title', o.scrollTitle);
}
$self.appendTo('body');
// If not using an image display text
if (!(o.scrollImg || o.scrollTrigger)) {
$self.html(o.scrollText);
}
// Minimum CSS to make the magic happen
$self.css({
display: 'none',
position: 'fixed',
zIndex: o.zIndex
});
// Active point overlay
if (o.activeOverlay) {
$('<div/>', {
id: o.scrollName + '-active'
}).css({
position: 'absolute',
'top': o.scrollDistance + 'px',
width: '100%',
borderTop: '1px dotted' + o.activeOverlay,
zIndex: o.zIndex
}).appendTo('body');
}
// Switch animation type
switch (o.animation) {
case 'fade':
animIn = 'fadeIn';
animOut = 'fadeOut';
animSpeed = o.animationSpeed;
break;
case 'slide':
animIn = 'slideDown';
animOut = 'slideUp';
animSpeed = o.animationSpeed;
break;
default:
animIn = 'show';
animOut = 'hide';
animSpeed = 0;
}
// If from top or bottom
if (o.scrollFrom === 'top') {
scrollDis = o.scrollDistance;
} else {
scrollDis = $(document).height() - $(window).height() - o.scrollDistance;
}
// Scroll function
scrollEvent = $(window).scroll(function () {
if ($(window).scrollTop() > scrollDis) {
if (!triggerVisible) {
$self[animIn](animSpeed);
triggerVisible = true;
}
} else {
if (triggerVisible) {
$self[animOut](animSpeed);
triggerVisible = false;
}
}
});
if (o.scrollTarget) {
if (typeof o.scrollTarget === 'number') {
scrollTarget = o.scrollTarget;
} else if (typeof o.scrollTarget === 'string') {
scrollTarget = Math.floor($(o.scrollTarget).offset().top);
}
} else {
scrollTarget = 0;
}
// To the top
$self.click(function (e) {
e.preventDefault();
$('html, body').animate({
scrollTop: scrollTarget
}, o.scrollSpeed, o.easingType);
});
};
// Defaults
$.fn.scrollUp.defaults = {
scrollName: 'scrollUp', // Element ID
scrollDistance: 300, // Distance from top/bottom before showing element (px)
scrollFrom: 'top', // 'top' or 'bottom'
scrollSpeed: 300, // Speed back to top (ms)
easingType: 'linear', // Scroll to top easing (see http://easings.net/)
animation: 'fade', // Fade, slide, none
animationSpeed: 200, // Animation in speed (ms)
scrollTrigger: false, // Set a custom triggering element. Can be an HTML string or jQuery object
scrollTarget: false, // Set a custom target element for scrolling to. Can be element or number
scrollText: 'Scroll to top', // Text for element, can contain HTML
scrollTitle: false, // Set a custom <a> title if required. Defaults to scrollText
scrollImg: false, // Set true to use image
activeOverlay: false, // Set CSS color to display scrollUp active point, e.g '#00FFFF'
zIndex: 2147483647 // Z-Index for the overlay
};
// Destroy scrollUp plugin and clean all modifications to the DOM
$.fn.scrollUp.destroy = function (scrollEvent) {
$.removeData(document.body, 'scrollUp');
$('#' + $.fn.scrollUp.settings.scrollName).remove();
$('#' + $.fn.scrollUp.settings.scrollName + '-active').remove();
// If 1.7 or above use the new .off()
if ($.fn.jquery.split('.')[1] >= 7) {
$(window).off('scroll', scrollEvent);
// Else use the old .unbind()
} else {
$(window).unbind('scroll', scrollEvent);
}
};
$.scrollUp = $.fn.scrollUp;
})(jQuery, window, document);

1004
html/js/main.js Normal file

File diff suppressed because it is too large Load Diff

200
html/js/plugins.js Normal file

File diff suppressed because one or more lines are too long