`
jinyanliang
  • 浏览: 307948 次
  • 性别: Icon_minigender_1
  • 来自: 河南开封
社区版块
存档分类
最新评论

jquery dialog对话框插件实例弹层效果

阅读更多
本文章是利用了jquery dialog对话框插件实例弹层效果哦,dialog弹出一个iframe对话框,好了下面我们先来看看实例,然后再告诉你如何实例dialog对话框效果。

(function ($) {
$.fn.openwidow = function (options) {
var divid = "dialog" + math.round(math.random() * 100);
var settings = {
id: divid,
width: 300,
height: 200,
modal: true,
buttons: {
},
show: "explode",
hide: "highlight",
title: "提示",
url: "/test.asp教程x",
close: function () {
$("#" + this.id).remove();
//debugger
if (document.getelementbyid(this.id))
document.body.removechild(document.getelementbyid(this.id));
}
};
if (options) {
$.extend(settings, options);
}
$("body").append('<div id="' + settings.id + '" title="dialog title"><p class="loading"></p></div>');
// dialog
$('#' + settings.id).dialog({
autoopen: false,
title: settings.title,
width: settings.width,
height: settings.height,
modal: true,
bgiframe: true,
show: settings.show,
hide: settings.hide,
buttons: settings.buttons,
close: settings.close,
open: function () {
$("#" + settings.id).html('<iframe src="' + settings.url + '" frameborder="0" height="100%" width="100%" id="dialogframe" scrolling="auto"></iframe>');
},
resizestop: function () {
$("#dialogframe").css教程("width", parseint($(this).css("width")) - 5);
$("#dialogframe").css("height", parseint($(this).css("height")) - 5);
}
});

$('#' + settings.id).dialog("open");
return this;
};
})(jquery);
下面来看看

原理很简单,通过js动态构建一个div层,将其插入到body中,然后通过调整position的css属性为absolute或fixed,使其脱离原来的文档流的位置。再通过适当的加工美化就成了。

<!-- 背景遮盖层 -->

<div class="dialog-overlay"></div>
<!-- 对话框 -->

<div class="dialog">
<div class="bar">
<span class="title">标题</span>
<a class="close">[关闭]</a>
</div>
<div class="content">内容部分</div>
</div>
这就是两个div层的结构,第一个背景遮盖层只有在需要的时候才创建。每个div都定义了一个css类,这样便于自定义其外观。

一些基本功能的实现
移动框体
只要在mousemove事件中,计算两次移动鼠标位置的差值,再加上被移动框的原始的top,left,就是对话框新的位置。mousemove事件只需要在鼠标按下标题栏的时候才需要触发,所以只有在触发标题栏的mousedown事件时才绑定mousemove事件,而鼠标释放时也同时解除mousemove的绑定。

mousemove和解除绑定mousemove事件的mouseup却没有绑定到标题栏上,而是document上,之所以这样,是因为有时鼠标移动过快时,会移出标题栏范围,此时若是绑定到标题栏上的事件就会失效,而绑定到document就不会。

var mouse={x:0,y:0};
function movedialog(event)
{
var e = window.event || event;
var top = parseint(dialog.css('top')) + (e.clienty - mouse.y);
var left = parseint(dialog.css('left')) + (e.clientx - mouse.x);
dialog.css({top:top,left:left});
mouse.x = e.clientx;
mouse.y = e.clienty;
};
dialog.find('.bar').mousedown(function(event){
var e = window.event || event;
mouse.x = e.clientx;
mouse.y = e.clienty;
$(document).bind('mousemove',movedialog);
});
$(document).mouseup(function(event){
$(document).unbind('mousemove', movedialog);
});
定位
居中定位很容易实现,ie下的clientwidth, offsetwidth等一系列属性和其它浏览器好像有点不一样,所以不要用这些属性,可以直接用jquery下的width()函数:

var left = ($(window).width() - dialog.width()) / 2;
var top = ($(window).height() - dialog.height()) / 2;
dialog.css({top:top,left:left});
ie6下并没有fixed模式,但是能通过window.onscroll事件模拟实现:

// top 对话框到可视区域顶部位置的距离。

var top = parseint(dialog.css('top')) - $(document).scrolltop();
var left = parseint(dialog.css('left')) - $(document).scrollleft();
$(window).scroll(function(){
dialog.css({'top':$(document).scrolltop() + top,'left':$(document).scrollleft() + left});
});
分享到:
评论
1 楼 keven_niu 2013-07-23  
好不错哦。。

相关推荐

    jQuery dialog对话框插件点击弹出对话框代码

    jQuery dialog对话框插件是jQuery UI库中的一个核心组件,用于创建可自定义的模态或非模态对话框。这个插件提供了丰富的功能,包括拖动、调整大小、自动定位以及多种主题样式,使开发者能够轻松地在网页中添加交互式...

    简约扁平风格jQuery确认对话框插件

    本文将深入探讨“简约扁平风格jQuery确认对话框插件”,这是一个高效且设计精良的工具,旨在增强用户体验,为网站或应用程序添加优雅的确认对话框。 首先,我们来理解“确认对话框”的概念。在用户界面设计中,确认...

    jquery dialog对话框插件制作蓝色的弹出消息对话框代码

    总结来说,jQuery Dialog是创建交互式对话框的强大工具,通过合理的CSS定制,我们可以轻松地实现各种视觉效果,比如蓝色主题。结合HTML和JavaScript,我们可以控制Dialog的打开、关闭以及与用户交互的方式,提升网页...

    jQuery扁平风格对话框插件Dialogbox.zip

    jQuery Dialogbox是一款基于jQuery库的扁平化设计对话框插件,它提供了丰富的对话框样式和功能,适用于各种用户交互场景。以下是对该插件及其相关知识点的详细说明: 1. **jQuery基础**:Dialogbox是jQuery的一个...

    jQuery通用dialog对话框 popup提示信息窗口插件demo

    **jQuery通用Dialog对话框与Popup提示信息窗口插件** 在前端开发中,用户交互界面的友好性和用户体验至关重要。jQuery提供了一种便捷的方式来实现这一目标,那就是通过Dialog对话框和Popup提示信息窗口。本文将深入...

    jquery dialog css3弹出对话框插件实例

    这个“jquery dialog css3弹出对话框插件实例”提供了使用jQuery UI库和CSS3技术实现对话框的实践案例。 jQuery Dialog是jQuery UI库的一部分,该库提供了大量的用户界面组件,如滑块、日期选择器和拖放功能。...

    jQuery Dialog 弹出层对话框插件(可加载url地址)

    **jQuery Dialog弹出层对话框插件:深入解析与应用** jQuery Dialog是jQuery UI库中的一个组件,它提供了一种优雅的方式在网页上创建交互式的弹出层对话框。这个插件不仅允许用户展示信息,还可以加载外部URL内容,...

    原生js Dialog对话框插件制作19种对话框弹出层拖动

    通过以上这些知识点的实践,你可以构建出一个功能齐全且具有拖动功能的原生JavaScript Dialog对话框插件,满足各种场景下的用户交互需求。同时,这样的项目也将有助于提升你的JavaScript编程技能和对Web前端开发的...

    JQuery 模式对话框实例

    "JQuery 模式对话框实例"是指使用 jQuery 创建的一种特殊的对话框,它在页面上弹出时,会将背景变暗,使用户无法与背景中的其他元素交互,直至对话框关闭。这种模式对话框常用于警告、确认、输入信息等场景。 在 ...

    jQuery Dialog对话框事件用法实例分析

    通过这些实例可以看出,jQuery Dialog不仅使对话框的实现变得简洁,而且通过options的灵活配置,可以实现多种交互效果,极大增强了用户界面的友好性和可用性。需要注意的是,在使用Dialog组件时,应合理配置其参数,...

    Android dialog对话框用法实例.rar

    这个“Android dialog对话框用法实例.rar”压缩包提供了一些示例代码,帮助开发者了解如何在Android应用中创建和使用Dialog。 首先,我们来详细探讨Android Dialog的基本概念。Dialog是Android UI设计中的一种非...

    jquery dialog简单实现插件

    总结,jQuery Dialog 是一个强大且灵活的工具,能够轻松创建各种对话框效果。通过掌握其基本用法、配置选项和事件处理,可以满足大多数网页交互的需求。而自定义样式则进一步扩展了它的应用场景,使其能够完美融入...

    Zebra_Dialog-简单实用的jQuery模态对话框插件

    Zebra_Dialog是一款简单实用的jQuery模态对话框插件。用它可以替代原生JavaScript的警告框和确认框,也可以用它来制作消息提示框。它兼容IE6+浏览器,支持Ajax加载内容和iFrame框架等。

    JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法

    在使用JQuery Dialog对话框时,用户通常期望能够通过按下Esc键来关闭当前显示的对话框,这在很多UI设计中是一种常见的交互模式。然而,有时我们可能会遇到这样的问题:某些Dialog对话框无法通过Esc键关闭,这可能是...

    通用jQuery对话框dialog或popup弹出层或提示窗口插件

    在网页开发中,jQuery对话框(dialog)和popup弹出层是常见的用户交互元素,用于显示警告、确认信息、提供...在使用过程中,可以根据项目的具体需求,选择jQuery Dialog或合适的popup插件,并灵活定制以达到最佳效果。

    jquery移动对话框插件Mobile-SimpleDialog

    jQuery Mobile 提供了基础的对话框功能,但为了满足更复杂的需求,开发者们通常会寻找更为定制化的解决方案,如 "Mobile-SimpleDialog" 这款 jQuery 移动对话框插件。 **1. 插件介绍** "Mobile-SimpleDialog" 是一...

    jquery.dialogBox.js动画对话框插件

    《jQuery.dialogBox.js动画对话框插件详解及应用实践》 在网页开发中,对话框是一种常见的用户交互元素,用于提示信息、确认操作或者展示详细内容。jQuery.dialogBox.js插件是一个轻量级且功能丰富的动画对话框工具...

    ZebraDialog简单实用的jQuery模态对话框插件

    Zebra_Dialog是一款简单实用的jQuery模态对话框插件。用它可以替代原生JavaScript的警告框和确认框,也可以用它来制作消息提示框。它兼容IE6 浏览器,支持Ajax加载内容和iFrame框架等。

    jQuery对话框插件dialogBox 0.0.1.rar

    jQuery对话框插件dialogBox,简单实用的jquery对话框插件,配合css3效果,视觉效果完美呈现,支持模拟confirm对话框、alert提示框等,可自定义对话框标题、内容、尺寸、效果等。

Global site tag (gtag.js) - Google Analytics