易想商城系统

源代码在线查看: jquery-impromptu.1.5.js

软件大小: 17179 K
上传用户: llll45356874
关键词: 商城
下载地址: 免注册下载 普通下载 VIP

相关代码

				/*
				 * jQuery Impromptu
				 * By: Trent Richardson [http://trentrichardson.com]
				 * Version 1.5
				 * Last Modified: 3/31/2008
				 * 
				 * Copyright 2008 Trent Richardson
				 *
				 * Licensed under the Apache License, Version 2.0 (the "License");
				 * you may not use this file except in compliance with the License.
				 * You may obtain a copy of the License at
				 *
				 *     http://www.apache.org/licenses/LICENSE-2.0
				 *
				 * Unless required by applicable law or agreed to in writing, software
				 * distributed under the License is distributed on an "AS IS" BASIS,
				 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
				 * See the License for the specific language governing permissions and
				 * limitations under the License.
				 */
				jQuery.extend({	
					ImpromptuDefaults: { prefix:'jqi', 
					    url: "",
					    message: "Are you sure?",
					    width: "300",
					    height: "100",
					    buttons:{ Ok:true }, 
					    loaded:function(){}, 
					    submit:function(){return true;}, 
					    callback:function(){}, 
					    opacity:0.6, 
					    zIndex: 999, 
					    overlayspeed:'slow', 
					    promptspeed:'fast', 
					    show:'show', 
					    focus:0, 
					    useiframe:false },
					    
					SetImpromptuDefaults: function(o){ 
						jQuery.ImpromptuDefaults = jQuery.extend({},jQuery.ImpromptuDefaults,o);
					},
					prompt: function(m,o){
						o = jQuery.extend({},jQuery.ImpromptuDefaults,o);
						
						var ie6 = (jQuery.browser.msie && jQuery.browser.version < 7);	
						var b = jQuery(document.body);
						var w = jQuery(window);
						
						
						
						var msgbox = '';		
						if(o.useiframe && ((jQuery.browser.msie && jQuery('object, applet').length > 0) || ie6))//if you want to use the iframe uncomment these 3 lines
							msgbox += '';
						else{ 
							if(ie6) $('select').css('visibility','hidden');
							msgbox +='';
						}	
						msgbox += ''+m+''+ m +'';
						jQuery.each(o.buttons,function(k,v){ msgbox += ''+ k +''}) ;
						msgbox += '';
						
						var jqib =b.append(msgbox).children('#'+ o.prefix +'box');
						var jqi = jqib.children('#'+ o.prefix);
						var jqif = jqib.children('#'+ o.prefix +'fade');
				        var jqic = jqi.children('.'+ o.prefix +'container');
				        var jqiclose=jqic.children('#jqititle');
				
						var getWindowScrollOffset = function(){ 
							return (document.documentElement.scrollTop || document.body.scrollTop) + 'px'; 
						};		
						
						var getWindowSize = function(){ 
							var size = {
								width: window.innerWidth || (window.document.documentElement.clientWidth || window.document.body.clientWidth),
								height: window.innerHeight || (window.document.documentElement.clientHeight || window.document.body.clientHeight)
							};
							return size;
						};
						
						var ie6scroll = function(){ 
							jqib.css({ top: getWindowScrollOffset() }); 
						};
						
						var flashPrompt = function(){
							var i = 0;
							jqib.addClass(o.prefix +'warning');
							var intervalid = setInterval(function(){ 
								jqib.toggleClass(o.prefix +'warning');
								if(i++ > 1){
									clearInterval(intervalid);
									jqib.removeClass(o.prefix +'warning');
								}
							}, 100);			
						};		
						
				
						var escapeKeyClosePrompt = function(e){
							var kC = (window.event) ? event.keyCode : e.keyCode; // MSIE or Firefox?
							var Esc = (window.event) ? 27 : e.DOM_VK_ESCAPE; // MSIE : Firefox
							if(kC==Esc) removePrompt();
						};
				
						var positionPrompt = function(){
							var wsize = getWindowSize();
							jqib.css({ position: (ie6)? "absolute" : "fixed", height: wsize.height, width: "100%", top: (ie6)? getWindowScrollOffset():0, left: 0, right: 0, bottom: 0 });
							jqif.css({ position: "absolute", height: wsize.height, width: "100%", top: 0, left: 0, right: 0, bottom: 0 });
							jqi.css({ position: "absolute", 
							    width: o.width +"px", 
							    height: o.height + "px", 
							    left: (wsize.width - o.width) / 2 + "px", 
							    top: (wsize.height - o.height) / 2 + "px"
							    });					
						    jqic.css({ width: o.width - 10 +"px", height: o.height - 30 + "px"});
						    jqiclose.css({ width: "100%",height: "20px", background:"red" });
						};
						
						var stylePrompt = function(){
							jqif.css({ zIndex: o.zIndex, display: "none", opacity: o.opacity });
							jqi.css({ zIndex: o.zIndex+1, display: "none" });
						}
						
						var removePrompt = function(callCallback, clicked, msg){
							jqi.remove(); 
							if(ie6)b.unbind('scroll',ie6scroll);//ie6, remove the scroll event
							w.unbind('resize',positionPrompt);			
							jqif.fadeOut(o.overlayspeed,function(){
								jqif.unbind('click',flashPrompt);
								jqif.remove();
								if(callCallback) o.callback(clicked,msg);
								jqib.unbind('keypress',escapeKeyClosePrompt);
								jqib.remove();
								if(ie6 && !o.useiframe) $('select').css('visibility','visible');
							});
						}
						
						positionPrompt();
						stylePrompt();	
						
						if(o.url!='')
						{
						    var msg = jqi.children('.'+ o.prefix +'container').children('.'+ o.prefix +'message');
						    msg.load(o.url);
						}
						else
						{
						    var msg = jqi.children('.'+ o.prefix +'container').children('.'+ o.prefix +'message');
						    msg.html(o.message);
						}
				
						//Events
						jQuery('#'+ o.prefix +'buttons').children('button').click(function(){ 
							var msg = jqi.children('.'+ o.prefix +'container').children('.'+ o.prefix +'message');
							var clicked = o.buttons[jQuery(this).text()];	
							if(o.submit(clicked,msg))
								removePrompt(true,clicked,msg);	
						});
						if(ie6) w.scroll(ie6scroll);//ie6, add a scroll event to fix position:fixed
						jqif.click(flashPrompt);
						w.resize(positionPrompt);
						jqib.keypress(escapeKeyClosePrompt);
						
						//close window button
						jqi.find('.'+ o.prefix +'close')
						    .mouseover(function(){ jQuery(this).addClass('jqiclose2'); })
						    .mouseout(function(){ jQuery(this).removeClass('jqiclose2');})
						    .click(removePrompt);
						
								
						//Show it
						jqif.fadeIn(o.overlayspeed);
						jqi[o.show](o.promptspeed,o.loaded);
						jqi.find('#'+ o.prefix +'buttons button:eq('+ o.focus +')').focus();//focus the default button
						return jqib;
					}	
				});			

相关资源