In this regard, the jquery.boxy plug-in has been made very powerful. Commonly used prompts, confirmations, dragging, changing sizes, and asynchronous loading are all very practical, resulting in larger files (negligible), and many functions are not needed. For this reason , with the attitude and idea of learning and practicing at the same time, I made a lightweight pop-up layer plug-in suitable for this project. This is the first time I write a jqeury plug-in, and I am also preparing to encapsulate common operations into jquery plug-ins in the future. Bar.
First of all, let’s give the plug-in a name so that it can fool people. Let’s call it jquey.cvbox.min.js. cv is the abbreviation of the website domain name ChinaValue. The compressed capacity is controlled below 6K. Since it's not finished yet, I'll write down my thoughts first.
1. Add container elements to the page to display content, as well as the background of the pop-up layer. It only needs to be there. As for where you were born (that is, where it is displayed on the page) and what you will grow into. The appearance will be cultivated (set up) later, and the appearance will naturally be dressed up by the art director.
2. According to our needs, we define some commonly used objects in advance, such as the background of the mask, the container of the pop-up layer, the title bar of the pop-up layer, the content area of the pop-up layer, and the height of the current browser window. Kuan, etc., with these, it will be much more convenient to use later.
3. Start stuffing content into the container. The content can be a prompt (corresponding to the prompt function), a question (corresponding to the confirmation box), a picture (for example, for enlarging a small picture), or It is a piece of HTML code (replacing the inconvenience of writing HTML directly in JS).
4. Define the event that the user clicks to close, that is, hiding or removing the background layer and pop-up layer, leaving it to be called when the operation is completed.
5. Set the background layer transparency and scroll height, set the position of the pop-up layer, center it with scrolling or be fixed.
6. Finally, in order to facilitate use in multiple situations, extract variable parameters. The parameters must have default values, and use $.extend to complete it.
The beta version is expected to be released after the holidays, and it will be unabridged.
Online demo: http://demo.jb51.net/js/jquery_cvbox/index.htm
Package download: http://xiazai.jb51.net/201010/ yuanma/jquery_cvbox.rar
jquery.cvbox.min.js code
/*
* JQuery.cvbox.js
* http://www.chinavalue.net
*
* J.Wang
* http://0417.cnblog.socm
*
* 2010.09.30
*/
(function($) {
$.fn.cvbox = function(options) {
var self = $(this);
var defaults = {
titleBarText: "",
titleBarClose: "关闭",
bgClickClose: false,
bgShow: true,
bgOpacity: 0.2,
confirmText: "",
alertText: "",
delayClose: 0,
submitAfter: function() {
$.noop();
}
};
var param = $.extend({}, defaults, options || {});
//弹框的显示
var cvBoxElement = '';
cvBoxElement += '
cvBoxElement += '
cvBoxElement += '';
cvBoxElement += '
if ($("#cvBoxBorder").size()) {
$("#cvBoxBorder").show();
if (param.bgShow) {
$("#cvBoxShade").show();
}
else {
$("#cvBoxShade").hide();
}
}
else {
$("body").append(cvBoxElement);
}
//一些元素对象,浏览器宽高,滚动高度,页面高度
var cbBg = $("#cvBoxShade");
var cbBorder = $("#cvBoxBorder");
var cbTitleBar = $("#cvBoxTitleBar");
var cbBody = $("#cvBoxBody");
var w, h, st, ph;
var cb = {
//装载的内容
content: function() {
var text;
if (param.confirmText != "") {
text = $('
}
else if (param.alertText != "") {
text = $('
}
else {
self.show();
text = self;
}
return text;
},
hw: function(obj) {
//获取任意元素的高宽
var hwSize = {};
$('').appendTo("body").append(obj.clone());
hwSize.w = $("#cbBox").width();
hwSize.h = $("# cbBox").height();
$("#cbBox").remove();
return hwSize;
},
//The width and height transparency of the black background, etc., The position of the pop-up box
position: function() {
w = $(window).width(), h = $(window).height(), st = $(window).scrollTop(), ph = $(document).height();
cbBg.width(w).height(ph).css("opacity", param.bgOpacity);
//The position of the main content
var x_size = cb.hw(cb.content());
var xh = x_size.h, xw = x_size.w;
var t = st (h - xh) / 2, l = (w - xw) / 2;
cbBorder.css({
width: xw,
top: t,
left: l,
zIndex: 9999
});
},
//Position
posfix: function() {
if (window.XMLHttpRequest) {
cbBorder.css("position", "fixed");
} else {
$(window).scroll(function() {
cb.position();
});
}
},
//center
center : function() {
$(window).resize(function() {
cb.position();
});
},
bgclick: function() {
cbBg.click(function() {
cb.hide();
});
},
bghide: function() {
cbBg.hide ();
},
//Hide the pop-up box
hide: function() {
if (param.confirmText == "" && param.alertText == "") {
cb.content().hide().appendTo($("body"));
}
//cbBorder.fadeOut(300);
cbBorder.remove( );
cbBg.remove();
return false;
},
barhide: function() {
cbTitleBar.hide();
},
show: function() {
if (cbBody.html() == "") {
cbBody.append(cb.content());
}
cb.position();
cb.center();
if (param.titleBarText == "") {
cb.barhide();
}
if ( !param.bgShow) {
cb.bghide();
}
if (param.bgClickClose) {
cb.bgclick();
}
if (param.delayClose > 0) {
setTimeout(cb.hide, param.delayClose);
}
}
};
cb.show();
//Binding of some events
$("#cvBoxBtnSubmit").bind("click", function() {
if (param.confirmText != ""){
param.submitAfter() ;
}
cb.hide();
});
$("#cvBoxBtnCancel").bind("click", function() {
cb.hide ();
});
$("#cvBoxTitleBarClose").bind("click", function() {
cb.hide();
});
}
})(jQuery);
Complete test code
未压缩版本是6K大小,压缩后只有2K大,应该算很轻了。
$(this).cvbox({ <BR>titleBarText: "弹出提示框", <BR>alertText: "世界上最远的距离不是生与死的距离<br />而是我在你面前<br />你却不知道我爸爸是李刚" <BR>}); <BR>
$("# A2").click(function() { <BR>$(this).cvbox({ <BR>titleBarText: "팝업 프롬프트 상자는 1초 후에 자동으로 닫힙니다.", <BR>alertText: "가장 먼 거리 세상에는 삶과 죽음의 거리가 없습니다<br /> ;하지만 나는 당신 앞에 있습니다<br />당신은 내 아버지가 리강이라는 것을 모르고 있습니다", <BR>delayClose:1000 <BR> }); <BR>
$("#A3"). click(function() { <BR>$(this).cvbox({ <BR>titleBarText: "팝업 대화 상자", <BR>confirmText: "세상에서 가장 먼 거리는 삶과 죽음의 거리가 아닙니다< ;br /> 근데 나야 너 앞에서는<br />그런데 내 아버지가 리강이라는 걸 모르시나봐요<br <BR>/><br />네 아버지가 리강인 게 확실해? Gang? ", <BR>submitAfter:HelloLiGang <BR>}); <BR>}); <BR><BR>function HelloLiGang(){ <BR>alert("아버지에 대한 존경심은 끝없는 강과 같습니다! "); <br>} <br>< ;/pre> <BR></div> <BR><div> <BR><a id="A4" href="javascript:void(0) ;">4. HTML 콘텐츠를 로드하고 클릭하여 효과를 확인하세요. </a> <BR><div class="A4Demo" style="display: none; width: 550px; padding: 10px;"> <BR><div> <BR>이 콘텐츠의 일반적인 표시 이는 HTML 콘텐츠가 동적으로 작성되지 않고 현재 페이지에 있음을 보여주기 위한 것입니다. <BR>. <BR><br /> <BR>콘텐츠는 iframe을 포함한 모든 요소일 수 있습니다. <BR></div> <BR><div> <BR></div> <BR><script type="text/javascript"< ![CDATA[ <BR>$("#A4").click(function() { <BR>$(".A4Demo").cvbox({ <BR>titleBarText: "HTML 콘텐츠 로드" <BR> }); <BR>// ]]</script> <BR></div><BR><BR>< pre class="brush:html"><div class="A4Demo" style="display:none; width:550px; padding:10px; "> <BR><div> 표시가 숨겨짐으로 설정되어 있습니다. 이는 HTML 콘텐츠가 동적으로 작성되지 않고 현재 페이지에 있음을 보여주기 위한 것입니다. <BR><br /> <BR>콘텐츠는 iframe을 포함한 모든 요소일 수 있습니다. <BR></div> <BR><div> <BR><iframe width="100%"frameborder="0" src="http://a.cvimg.cn/UploadFile/MiniBlog/2010 /10-20/7a09cf13-eeb6-491b-aa63- <BR>18dd67bde0a1_Big.jpg"></iframe> <BR></div> <BR></div> <BR></pre> ; <BR></div> <BR><br /> <BR><div class="jb51_Highlighter"><BR><pre class="brush:javascript">$("# A4").click(function() { <BR>$(".A4Demo").cvbox({ <BR>titleBarText: "HTML 콘텐츠 로드 중" <BR>}); <BR>}); <BR>

The main difference between Python and JavaScript is the type system and application scenarios. 1. Python uses dynamic types, suitable for scientific computing and data analysis. 2. JavaScript adopts weak types and is widely used in front-end and full-stack development. The two have their own advantages in asynchronous programming and performance optimization, and should be decided according to project requirements when choosing.

Whether to choose Python or JavaScript depends on the project type: 1) Choose Python for data science and automation tasks; 2) Choose JavaScript for front-end and full-stack development. Python is favored for its powerful library in data processing and automation, while JavaScript is indispensable for its advantages in web interaction and full-stack development.

Python and JavaScript each have their own advantages, and the choice depends on project needs and personal preferences. 1. Python is easy to learn, with concise syntax, suitable for data science and back-end development, but has a slow execution speed. 2. JavaScript is everywhere in front-end development and has strong asynchronous programming capabilities. Node.js makes it suitable for full-stack development, but the syntax may be complex and error-prone.

JavaScriptisnotbuiltonCorC ;it'saninterpretedlanguagethatrunsonenginesoftenwritteninC .1)JavaScriptwasdesignedasalightweight,interpretedlanguageforwebbrowsers.2)EnginesevolvedfromsimpleinterpreterstoJITcompilers,typicallyinC ,improvingperformance.

JavaScript can be used for front-end and back-end development. The front-end enhances the user experience through DOM operations, and the back-end handles server tasks through Node.js. 1. Front-end example: Change the content of the web page text. 2. Backend example: Create a Node.js server.

Choosing Python or JavaScript should be based on career development, learning curve and ecosystem: 1) Career development: Python is suitable for data science and back-end development, while JavaScript is suitable for front-end and full-stack development. 2) Learning curve: Python syntax is concise and suitable for beginners; JavaScript syntax is flexible. 3) Ecosystem: Python has rich scientific computing libraries, and JavaScript has a powerful front-end framework.

The power of the JavaScript framework lies in simplifying development, improving user experience and application performance. When choosing a framework, consider: 1. Project size and complexity, 2. Team experience, 3. Ecosystem and community support.

Introduction I know you may find it strange, what exactly does JavaScript, C and browser have to do? They seem to be unrelated, but in fact, they play a very important role in modern web development. Today we will discuss the close connection between these three. Through this article, you will learn how JavaScript runs in the browser, the role of C in the browser engine, and how they work together to drive rendering and interaction of web pages. We all know the relationship between JavaScript and browser. JavaScript is the core language of front-end development. It runs directly in the browser, making web pages vivid and interesting. Have you ever wondered why JavaScr


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.
