jQueryUI Dialog 예제를 보니 효과는 나쁘지 않은데 사용하기가 좀 어색하고 작성한 코드가 좀 꼬여 있어서 다시 캡슐화해야 합니다! 따라서 다음과 같은 간단한 DialogHelper 보조 클래스가 있습니다. 이 기사의 초점은 아이디어에 맞춰져 있기 때문에 현재 버전의 코드는 여전히 매우 대략적입니다. 이 아이디어는 옳습니다. 앞으로 어떤 내용을 요약하더라도 이 아이디어가 모든 사람에게 영감을 줄 수 있기를 바랍니다. 동시에 모든 사람이 자신의 생각을 확장하고 개선을 위한 더 나은 제안을 할 수 있기를 바랍니다.
//ScrollHelper.js 필요
함수 DialogHelper() {
var _this = this;
var doc = window.document;
_this.maskDiv = null;
_this.contentDiv = null;
var 옵션 = {
불투명도: 0.4
};
this.popup = 함수(contentdiv, optionArg) {
if (optionArg) {
for (optionArg의 var prop) {
옵션[prop] = optionArg[prop];
}
}
_this.contentDiv = contentdiv || _this.contentDiv;
_this.maskDiv = $('
_this.maskDiv.addClass('MaskDiv');
_this.maskDiv.css({
'필터': "Alpha(opacity=" ( options.opacity - "0" ) * 100 ");",
'불투명도': options.opacity,
'디스플레이': '차단'
});
$(doc.body).append(_this.maskDiv);
if (_this.contentDiv) {
$(doc.body).append(_this.contentDiv);
_this.contentDiv.show();
_this.contentDiv.draggable({
봉쇄: "문서",
커서: '이동',
핸들: ".Dialog_Head"
});
$(_this.maskDiv).on("mousemove", function() {
$("body").preventScroll();
});
$(_this.maskDiv).on("mouseout", function() {
$("body").liveScroll();
});
if ($(".cke").length == 0 && $(".Dialog_Body").length > 0) {
$(".Dialog_Body").preventOuterScroll();
}
}
};
this.remove = 함수 () {
if (_this.contentDiv) {
_this.contentDiv.remove();
}
if (_this.maskDiv) {
_this.maskDiv.remove();
}
$("body").liveScroll();
};
this.formatPercentNumber = 함수(값, 전체) {
if (isNaN(value) && typeof value === "string") {
if (value.indexOf("%") !== -1) {
값 = (value.replace("%", "") / 100) * 전체;
} else if (value.indexOf("px") !== -1) {
value = value.replace("px", "");
}
}
return Math.ceil(값);
};
this.position = 함수(dialog,dialogBody, minusHeight) {
대화상자 = 대화상자 || $(".ShowDialogDiv");
if (대화상자[0]) {
var clientWidth = document.documentElement.clientWidth;
var clientHeight = document.documentElement.clientHeight;
var width = _this.formatPercentNumber(dialog.data("position").width, clientWidth) || 대화상자.너비();
var height = _this.formatPercentNumber(dialog.data("position").height, clientHeight) || 대화상자.높이();
너비 = 너비 높이 = 높이 $(대화상자).css({
"너비": 너비 "px",
"높이": 높이 "px",
"top": Math.ceil((clientHeight - 높이) / 2) "px",
"왼쪽": Math.ceil((clientWidth - 너비) / 2) "px"
});
다이얼로그바디 = 다이얼로그바디 || $(".Dialog_Body");
if (dialogBody[0]) {
마이너스 높이 = 마이너스 높이 || ($(".Dialog_Head").outerHeight() $(".Dialog_Foot").outerHeight());
varDialogBodyHeight = 높이 - 마이너스 높이;
DialogBody.height(dialogBodyHeight);
}
}
}
}
var createDialogTemplate = function (optionArg, contentHtml, saveBtnClickHandler) {
var 옵션 = {
"액션": "",
"제목": "",
"너비": "50%",
"높이": "50%"
};
if (optionArg) {
for (optionArg의 var prop) {
옵션[prop] = optionArg[prop];
}
}
var newDialog = $("
var DialogHead = $("
$("").html(options.Action " " options.Title).appendTo(DialogHead);
var DialogClose = $("").appendTo(DialogHead);
var DialogBody = $("
var DialogFoot = $("
var newDiv = $("
var ActionCancelDiv = $("
DialogClose.on("클릭", function() {
DialogHelper.remove();
});
ActionCancelDiv.on("클릭", function() {
DialogHelper.remove();
});
var newA = $("
$("
$("
var ActionSaveDiv = $("
var newB = $("
newB.on('클릭', function () {
if (saveBtnClickHandler 유형 == "함수") {
saveBtnClickHandler();
}
});
$("
$("
var minusHeight = DialogHead.outerHeight() DialogFoot.outerHeight();
newDialog.data("위치", {
너비: 옵션.너비,
높이: 옵션.높이
});
DialogHelper.position(newDialog, DialogBody, minusHeight);
newDialog 반환;
};
varchangeDialogLayout = function(optionArg,dialogObj) {
var 옵션 = {
"너비": "70%",
"높이": "90%"
};
if (optionArg) {
for (optionArg의 var prop) {
옵션[prop] = optionArg[prop];
}
}
var DialogBody = $(dialogObj).find(".Dialog_Body");
var DialogHead = $(dialogObj).find(".Dialog_Head");
var DialogFoot = $(dialogObj).find(".Dialog_Foot");
var other = Math.round(DialogBody.css("padding-top").replace(/[a-z]/ig, "")) Math.round(DialogBody.css("padding-bottom").replace(/[ a-z]/ig, ""));
var minusHeight = DialogHead.outerHeight() DialogFoot.outerHeight() 기타;
DialogObj.data("위치", {
너비: 옵션.너비,
높이: 옵션.높이
});
DialogHelper.position(dialogObj, DialogBody, minusHeight);
};
以上就是本文所分享의 전체 부서 内容了, 希望大家能够喜欢。

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版
시각적 웹 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
