基础版本
diff --git a/www/js/lib/aui-popup-new.js b/www/js/lib/aui-popup-new.js
new file mode 100644
index 0000000..3c1a128
--- /dev/null
+++ b/www/js/lib/aui-popup-new.js
@@ -0,0 +1,135 @@
+/**
+ * aui-popup.js
+ * @author 流浪男
+ * Licensed under the MIT license.
+ * http://www.opensource.org/licenses/mit-license.php
+ */
+(function( window, undefined ) {
+ "use strict";
+ var auiPopup = function() {
+ };
+ var isShow = false;
+ auiPopup.prototype = {
+ init: function(params,callback){
+ this.frameBounces = params.frameBounces;
+ this.location = params.location;
+ this.buttons = params.buttons;
+ this.maskDiv;
+ this.popupDiv;
+ var self = this;
+ self.open(params,callback);
+ },
+ open: function(params,callback) {
+ var buttonsHtml='',locationClass = 'aui-popup-top';
+ var self = this;
+ if(self.popupDiv){
+ self.close();
+ return;
+ }
+ if(!self.maskDiv){
+ self.maskDiv = document.createElement("div");
+ self.maskDiv.className = "aui-mask";
+ document.body.appendChild(self.maskDiv);
+ }
+ switch (self.location) {
+ case "top":
+ locationClass = 'aui-popup-top';
+ break;
+ case "top-left":
+ locationClass = 'aui-popup-top-left';
+ break;
+ case "top-right":
+ locationClass = 'aui-popup-top-right';
+ break;
+ case "bottom":
+ locationClass = 'aui-popup-bottom';
+ break;
+ case "bottom-left":
+ locationClass = 'aui-popup-bottom-left';
+ break;
+ case "bottom-right":
+ locationClass = 'aui-popup-bottom-right';
+ break;
+ default:
+ locationClass = 'aui-popup-top';
+ break;
+ }
+ self.popupDiv = document.createElement("div");
+ self.popupDiv.className = "aui-popup "+locationClass;
+ self.popupDiv.innerHTML = '<div class="aui-popup-arrow"></div><div class="aui-popup-content"></div>';
+ document.body.appendChild(self.popupDiv);
+ if(self.buttons && self.buttons.length){
+ buttonsHtml += '<ul class="aui-list aui-list-noborder">';
+ for(var i = 0; i < self.buttons.length;i++){
+ buttonsHtml += '<li class="aui-list-item aui-list-item-middle">';
+ buttonsHtml += '<div class="aui-list-item-label-icon"><img src="'+self.buttons[i].image+'"></div>';
+ buttonsHtml += '<div class="aui-list-item-inner">'+self.buttons[i].text+'</div>';
+ buttonsHtml += '</li>';
+ }
+ buttonsHtml += '</ul>';
+ }
+ document.querySelector(".aui-popup .aui-popup-content").insertAdjacentHTML('beforeend', buttonsHtml);
+ var actionsheetHeight = document.querySelector(".aui-popup").offsetHeight;
+ self.maskDiv.classList.add("aui-mask-in");
+ self.popupDiv.classList.add("aui-popup-in");
+ self.popupDiv.addEventListener("touchmove", function(event){
+ event.preventDefault();
+ })
+ self.maskDiv.addEventListener("touchmove", function(event){
+ event.preventDefault();
+ })
+ if(typeof(api) != 'undefined' && typeof(api) == 'object' && self.frameBounces){
+ api.setFrameAttr({
+ bounces:false
+ });
+ }
+ var popupButtons = document.querySelectorAll(".aui-popup .aui-list-item");
+ if(popupButtons && popupButtons.length > 0){
+ setTimeout(function(){
+ self.maskDiv.onclick = function(){self.close();return;};
+ for(var ii = 0; ii < popupButtons.length; ii++){
+ (function(e){
+ popupButtons[e].onclick = function(){
+ if(self.buttons[e].value){
+ var _value = self.buttons[e].value;
+ }else{
+ var _value = null;
+ }
+ if(callback){
+ callback({
+ buttonIndex: e+1,
+ buttonTitle: this.textContent,
+ buttonValue: _value
+ });
+ };
+ self.close();
+ return;
+ }
+ })(ii)
+ }
+ }, 350)
+ }
+ },
+ close: function(){
+ var self = this;
+ if(typeof(api) != 'undefined' && typeof(api) == 'object' && self.frameBounces){
+ api.setFrameAttr({
+ bounces:true
+ });
+ }
+ if(self.popupDiv){
+ var actionsheetHeight = self.popupDiv.offsetHeight;
+ self.popupDiv.classList.add("aui-popup-out");
+ self.maskDiv.style.opacity = 0;
+ setTimeout(function(){
+ if(self.maskDiv){
+ self.maskDiv.parentNode.removeChild(self.maskDiv);
+ }
+ self.popupDiv.parentNode.removeChild(self.popupDiv);
+ self.maskDiv = self.popupDiv = false;
+ }, 300)
+ }
+ }
+ };
+ window.auiPopup = auiPopup;
+})(window);
\ No newline at end of file