`
lym6520
  • 浏览: 705760 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

我的jQuery插件:jpopmenu

    博客分类:
  • JS
阅读更多
    最近都不知道在忙些什么,没什么项目可做的,一天一天照样过的很快,昨天下午写了个jpopmenu插件,今天把这个jQuery插件整理了下放到je博客上,大家参考下:arrow:

来看看代码吧:
// / <reference path="jquery.js"/>
/*
 * jpopmenu version: 1.0.0 (2010-01-21) @ jQuery v1.3.*
 * 
 * css style:
 * .containerClass{position:absolute;z-index:999;padding:2px;background-color:white;border:1px #B1B1B1 solid;}
 * .containerClass a{display:block;width:80px;padding:3px 10px;text-decoration:none;overflow:hidden;
 *			white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;color:#525252;}
 * 
 * usage as:
 * $('#dom_id').jpopmenu({
 * 				containerClass:"containerClass",	// 容器样式
 * 				domObject:dom,					// dom对象 或 html代码
 * 				triggerEvent:'dblclick'			// 触发事件,支持:mouseover、dblclick、hover
 * 		});
 * 
 * Copyright 2009 LYM [ lym6520@qq.com ]
 */
jQuery.fn.jpopmenu = function(setting) {

	// 默认参数
	var options = {
		containerClass : "containerClass", // 容器样式
		domObject : "请设置domObject参数!", // dom对象		
		triggerEvent : "mouseover" // 触发事件,支持:mouseover、dblclick、hover
	};
	// 使用用户设置的参数
	if (setting) {
		jQuery.extend(options, setting);
	}

	var _this = this;

	// 初始化每个对象
	return this.each(function() {
				var documentClick = null;
				// 创建容器
				var container = document.createElement("div");
				container.className = options.containerClass;
				container.style.display = "none";
				// 添加容器到document.body
				document.body.appendChild(container);
				/**
				 * 显示
				 */
				_this.show = function() {
					_this.hide();
					var offset = jQuery(_this).offset();
					with (container.style) {
						left = offset.left + "px";
						top = offset.top + jQuery(_this).height() + "px";
						display = "block";
						position = "absolute";
					}
					jQuery(document).click(documentClick = function() {
						_this.hide();
					});
				}
				/**
				 * 隐藏
				 */
				_this.hide = function() {
					jQuery(document).unbind("click", documentClick);
					jQuery("." + options.containerClass).css("display", "none");
				};
				/**
				 * 设置容器内容
				 */
				_this.setContent = function(obj) {
					if (typeof obj == "string") {
						container.innerHTML = obj;
					} else {
						container.innerHTML = "";
						container.appendChild(obj);
					}
				};
				// 把domObject添加到容器container中
				_this.setContent(options.domObject);
				//事件选择
				switch (options.triggerEvent) {
					case 'mouseover' :
						jQuery(_this).mouseover(function() {
									_this.show();
								});
						break;
					case 'dblclick' :
						jQuery(_this).dblclick(function() {
									_this.show();
								});
						break;
					case 'hover' :
						jQuery(_this).hover(function() {
									_this.show();
								});
						break;
					default :
						alert("请设置triggerEvent触发事件类型!支持:mouseover、dblclick、hover等事件。");
						break;
				}

			});
};

截张效果图:



新版本jpopmenu v1.0.1增加了对click、mousedown、mouseup、oneClick等事件的支持。

新版本jpopmenu v1.0.2修复bug,取消了对mouseup事件的支持。
  • 大小: 9.8 KB
0
0
分享到:
评论
3 楼 lym6520 2010-02-01  
新版本jpopmenu v1.0.2修复bug,取消了对mouseup事件的支持。
2 楼 lym6520 2010-01-29  
新版本jpopmenu v1.0.1增加了对click、mousedown、mouseup、oneClick等事件的支持。
1 楼 lym6520 2010-01-23  
上传个demo!

相关推荐

    jQuery插件:警告-确认-提示弹出对话框效果_jquery_alert_dialogs

    jQuery插件:警告-确认-提示弹出对话框效果_jquery_alert_dialogsjQuery插件:警告-确认-提示弹出对话框效果_jquery_alert_dialogsjQuery插件:警告-确认-提示弹出对话框效果_jquery_alert_dialogs

    优秀jQuery插件:增强网站吸引力.pdf

    优秀jQuery插件:增强网站吸引力.pdf

    jquery插件:ajax和iframe加载提示效果

    **jQuery 插件:Ajax 和 Iframe 加载提示效果** 在网页开发中,用户体验是至关重要的,尤其是在进行异步操作(如Ajax请求)或加载Iframe时,用户往往需要一个明确的反馈,告知他们系统正在进行后台处理。这个jQuery...

    JQuery插件:facebook输入框(加强版)

    来自James Smith (http://loopj.com)一个JQuery 插件 我对该插件进行了加强化 可以看我的博客 http://hi.baidu.com/hjzheng/blog/item/afc83748d77aaae183025c6d.html

    jQuery插件:可拖动的图片展示实例(效果超酷)

    本文将深入探讨一个基于jQuery的插件,该插件实现了可拖动的图片展示功能,为用户提供了一种超酷的互动体验。 首先,我们需要理解jQuery的核心概念。jQuery提供了一种简洁的API,使得开发者可以方便地操作DOM...

    jquery插件库(jquery.treeview插件库)

    jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery....

    jquery插件库大全(200个).zip

    jquery插件库大全(200个): jqueryQQ表情插件 jquery下拉菜单导航 jquery下拉菜单栏 jquery仿Windows系统选中图标效果 jquery仿京东商品详情页图片放大效果 jquery仿百度新闻焦点轮播 jquery分离布局模版 jquery...

    jquery插件:ajax和iframe加载提示效果1.1版

    我的博客地址 http://blog.csdn.net/qq413041153/article/details/7397622 更新日志2012-05-05: 修复了几个bug: 1,iframe在没有指定宽和高时默认全屏的bug 2,当iframe隐藏时的错误显示效果 3,当iframe以tab...

    精美jQuery插件及源码

    本资源集合包含了一系列精美的jQuery插件及其源码,旨在帮助开发者提升网站的用户体验和视觉吸引力。下面我们将详细探讨jQuery插件及其在Web开发中的应用。 首先,jQuery插件是基于jQuery库的功能扩展,它们是由...

    jquery Autocomplete插件,搜索自动完成

    jQuery plugin: Autocomplete 参数及实例 官网:jQuery plugin: Autocomplete 此插件依赖于 jquery 1.2.6 --- jquery 1.8.3 转自:http://www.cnblogs.com/duanhuajian/p/3398904.html

    jquery插件大全

    **jQuery插件大全** 在Web开发领域,jQuery是一款广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画效果和Ajax交互。jQuery插件则是开发者为扩展jQuery功能而创建的各种工具,它们使得开发者能够快速实现...

    orgchart.js 组织架构图之JQuery插件

    组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件...

    240多个jQuery插件

    3. Content rater with asp.net, ajax and jQuery:内容评分。 4. Half-Star Rating Plugin:半星评分。 **搜索插件**: 1. jQuery Suggest:自动补全建议。 2. jQuery Autocomplete:自动完成。 3. jQuery ...

    jquery相关插件js

    《jQuery相关插件JS详解与应用》 在Web开发领域,jQuery是一个不可或缺的JavaScript库,以其简洁、易用的API赢得了广大开发者喜爱。本篇将深入探讨jQuery的相关插件及其实现原理,帮助读者理解如何将这些插件融入到...

    JQuery插件

    JQuery插件是JavaScript库JQuery生态中的一个重要组成部分,它扩展了JQuery的基本功能,为开发者提供了更加丰富和便捷的API来实现各种复杂的交互效果和动画。在网页开发中,JQuery插件广泛应用于增强用户体验、创建...

    jquery插件.rar

    《jQuery插件开发详解》 在Web开发领域,jQuery是一个广泛应用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作等任务。jQuery插件是jQuery生态系统的重要组成部分,它们扩展了jQuery的核心...

    jQuery插件,jQuery插件

    jQuery插件是JavaScript库jQuery生态系统中的一个重要组成部分,它极大地扩展了jQuery的核心功能,为开发者提供了丰富的功能和便捷的API,以实现各种复杂的网页交互和特效。jQuery插件通常由开发者社区创建并开源,...

    jQuery幻灯插件:Nivo Slider

    如果你需要演示新产品,或者你需要比较酷的幻灯片转化效果,Nivo幻灯是你的一个选择之一: 号称世界最棒的jQuery幻灯插件 16种幻灯变化的特效 简单并且配置灵活 体积小并且符合语义 jQuery插件使用免费

    jQuery插件开发学习

    这篇“jQuery插件开发学习”的主题旨在帮助开发者深入理解如何利用jQuery来开发自定义插件,提高代码复用性和项目效率。下面我们将详细探讨jQuery插件开发的相关知识点。 首先,了解jQuery的核心概念是至关重要的。...

Global site tag (gtag.js) - Google Analytics