山寨版webqq jquery qq (2)

上次发表网山寨版webqq jquery qq 网之后都没进行更新了,今天更新下,也可以到网站 查看最新的更新。

好了新上个界面让大家看下。

看到界面大家应该清楚今天要说的是:右键菜单操作。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="demoStyle/demo.css" type="text/css">
<link rel="stylesheet" href="zTreeStyle/zTreeStyle.css" type="text/css">
<link rel="stylesheet" href="themes/base/jquery.ui.all.css" type="text/css" />
<link rel="Stylesheet" href="themes/default.css" type="text/css" />
<script src="js/jquery-1.6.min.js" type="text/javascript"></script>
<script src="js/ui/jquery.ui.core.js" type="text/javascript"></script>
<script src="js/ui/jquery.ui.widget.js" type="text/javascript"></script>
<script src="js/ui/jquery.ui.mouse.js" type="text/javascript"></script>
<script src="js/ui/jquery.ui.draggable.js" type="text/javascript"></script>
<script src="js/ui/jquery.ui.position.js" type="text/javascript"></script>
<script src="js/ui/jquery.ui.resizable.js" type="text/javascript"></script>
<script src="js/ui/jquery.ui.dialog.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.ztree-2.6.min.js"></script>
<script type="text/javascript" src="asyncData/demoData.js"></script>
<script type="text/javascript">
$(function () {
$("#dialog").dialog({
autoOpen: true,
title: "<span style='color:red'>task</span>",
position: ['right', 'top'],
zIndex: 3999,
width: 250,
height: 500,
open: function (event, ui) {
var $dialog = $(this);
var atext = $(".ui-dialog-titlebar-close").replaceWith('<p class="ui-xlgwr"><span class="ui-icon ui-icon-minusthick">minusthick</span> <span class="ui-icon ui-icon-extlink">extlink</span><span class="ui-icon ui-icon-closethick">close</span></p>');
$(".ui-xlgwr>span").click(function () {
var spantext = $(this).text();
if (spantext == "extlink") {
$dialog.dialog({
position: ['right', 'top'],
width: 300,
height: 500
}); $dialog.dialog({
position: ['right', 'top'],
width: 300,
height: 500
});

} else if (spantext == "minusthick") {
$dialog.dialog({
position: ['right', 'top'],
width: 250,
height: 0
});
$dialog.dialog({
position: ['right', 'top'],
width: 250,
height: 0
});
} else if (spantext == "close") {
$dialog.dialog("close");
} else {
alert("请选择正确的操作,谢谢.");
}
});
}
});

var i = 0;
$("#Button1").click(function () {
var id = "mess" + i;
var right = i * 20 + ($(window).width() / 2) - 300;
var top = i * 20 + ($(window).height() / 2) - 250;

var _editRankDlg = $("<div id=" + id + "></div>").appendTo("#contents");

_editRankDlg.load("message.html?id=" + i, function () {
setName(i);
sendButton(i);
_editRankDlg.dialog({
modal: false,
show: "slide",
hide: "slide",
width: "450",
resizable: false,
height: "500",
position: [right, top], //默认单位就是px
title: "message" + i,
close: function () {
_editRankDlg.remove();
}
});

i++;
});
});

});



//---------------------------右键菜单----------------------------------------
var zTree1;
var setting;


setting = {
editable: true,
checkable: false,
edit_removeBtn: false,
callback: {
dblclick: zTreeOnDblclick,
drag: zTreeOnDrag,
drop: zTreeOnDrop,
rename: zTreeOnRename,
rightClick: zTreeOnRightClick
}

};
var rMenu;


$(document).ready(function () {

refreshTree();
rMenu = document.getElementById("rMenu");
$("body").bind("mousedown",
function (event) {
if (!(event.target.id == "rMenu" || $(event.target).parents("#rMenu").length > 0)) {
rMenu.style.visibility = "hidden";
}
});
});


var i = 0;
var uright = "", utop = "";
function zTreeOnDblclick(event, treeId, treeNode) {
if (treeNode) {
if ($("#" + treeNode.id).text() != "") {
$("#" + treeNode.id).dialog('moveToTop');
}
else {
var id = treeNode.id;

var right = i * 25 + ($(window).width() / 2) - 300;
var top = i * 25 + ($(window).height() / 2) - 250;

// if ((top + 480) >= $(window).height()) {
// right += 25;
// }

if (uright != "" && uright < right) {
right = uright;
top = utop;
uright = "";
}

treeNode.index = i;
var _editRankDlg = $("<div id=" + id + "></div>").appendTo("#contents");

_editRankDlg.load("message.html?id=" + i, function () {

setName(i);
sendButton(i);
_editRankDlg.dialog({
modal: false,
show: "slide",
hide: "slide",
width: "450",
resizable: false,
height: "500",
position: [right, top], //默认单位就是px
title: treeNode.name,
open: function (event, ui) {
var $dialog = $(this);
var atext = $(".ui-dialog-titlebar-close").replaceWith('<p class="ui-xlgwr"><span class="ui-icon ui-icon-minusthick">minusthick</span> <span class="ui-icon ui-icon-extlink">extlink</span><span class="ui-icon ui-icon-closethick">close</span></p>');
$(".ui-xlgwr>span").click(function () {
var spantext = $(this).text();
if (spantext == "extlink") {
alert($(this).dialog('option', right));
$dialog.dialog({
position: ['center', 'top'],
width: 450,
height: 500
}); $dialog.dialog({
position: ['center', 'top'],
width: 450,
height: 500
});

} else if (spantext == "minusthick") {
$dialog.dialog({
position: ['center', 'top'],
width: 450,
height: 0
});
$dialog.dialog({
position: ['center', 'top'],
width: 450,
height: 0
});
} else if (spantext == "close") {
$dialog.dialog("close");
} else {
alert("请选择正确的操作,谢谢.");
}
});
},
close: function () {
var r = treeNode.index * 20 + ($(window).width() / 2) - 300;
var t = treeNode.index * 20 + ($(window).height() / 2) - 250;

if (uright == "" || uright >= r) {
uright = r;
utop = t;
}
i--;
_editRankDlg.remove();
}
});
i++;
});
}
}
}


function zTreeOnDrag(event, treeId, treeNode) {
alert(" treeId=" + treeId + ";<br/>&nbsp;tId=" + treeNode.tId + "; Name=" + treeNode.name);
}

function zTreeOnDrop(event, treeId, treeNode, targetNode, moveType) {
if (treeNode) {
alert(" treeId=" + treeId + ";<br/>&nbsp;Src Name = " + treeNode.name
+ "; Target Name = " + ((targetNode != null) ? targetNode.name : "root")
+ "; moveType=\"" + moveType + "\"");
} else {
alert(" treeId=" + treeId + ";<br/>&nbsp;拖拽放弃。");
}
}

function zTreeOnRename(event, treeId, treeNode) {
alert(" treeId=" + treeId + ";<br/>&nbsp;tId=" + treeNode.tId + "; Name=" + treeNode.name);
}


function refreshTree() {
zTree1 = $("#treeDemo").zTree(setting, zNodes);
}


//---------------------------右键事件----------------------------------------
function addTreeNode(ty) {
hideRMenu();
if (ty == 0)
zTree1.addNodes(zTree1.getSelectedNode(), [{ name: "分组", icon: "demoStyle/img/people.gif"}]);
else
zTree1.addNodes(zTree1.getSelectedNode(), [{ name: "好友"}]);
}

function removeTreeNode() {
hideRMenu();
var node = zTree1.getSelectedNode();
if (node) {
if (node.nodes && node.nodes.length > 0) {
var msg = "要删除的节点是父节点,如果删除将连同子节点一起删掉。\n\n请确认!";
if (confirm(msg) == true) {
zTree1.removeNode(node);
}
} else {
if (confirm("确定要删除所选择项吗?")) {
zTree1.removeNode(node);
}
}
}
}


function showRMenu(type, x, y) {
$("#rMenu ul").show();
if (type == "root") { //添加分组
$("#m_del").hide();
$("#m_del1").hide();
$("#m_add1").hide();
}
if (type == "node") { //添加好友,删除好友
$("#m_del").hide();
$("#m_add").hide();
$("#m_add1").hide();
}

if (type == "node1") {//添加好友,删除组
$("#m_add").hide();
$("#m_del1").hide();
}
x = $(window).width - $("#dialog").width();
y = y - 30;
$("#rMenu").css({ "top": y + "px", "left": x + "px", "visibility": "visible" });
}
function hideRMenu() {
if (rMenu) rMenu.style.visibility = "hidden";
}

function zTreeOnRightClick(event, treeId, treeNode) {

if (!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) {
zTree1.cancelSelectedNode();
showRMenu("root", event.clientX, event.clientY);
} else if (treeNode && (event.target.tagName.toLowerCase() == "button" || treeNode.nodes != null)) {
zTree1.selectNode(treeNode);
showRMenu("node1", event.clientX, event.clientY);
}
else if (treeNode) {
zTree1.selectNode(treeNode);
showRMenu("node", event.clientX, event.clientY);
}
}
</script>
</head>
<body>
<div id="contents">
</div>
<div id="dialog" title="dialog">
<div class="zTreeDemoBackground">
<ul id="treeDemo" class="tree">
</ul>
</div>
<!-- 菜单-->
<div id="rMenu" style="position: absolute; visibility: hidden;">
<li>
<ul id="m_add" οnclick="addTreeNode(0);">
<li>添加分组</li></ul>
<ul id="m_add1" οnclick="addTreeNode(1);">
<li>添加好友</li></ul>
<ul id="m_del" οnclick="removeTreeNode(0);">
<li>删除该组</li></ul>
<ul id="m_del1" οnclick="removeTreeNode(1);">
<li>删除好友</li></ul>
</li>
</div>
</div>
<button id="Button1">
Open message</button>
</body>
</html>

 

 

 

这里介绍的右键菜单还是ztree自带的 先定义下菜单显示的项

   <!--     菜单-->
        <div id="rMenu" style="position: absolute; visibility: hidden;">
            <li>
                <ul id="m_add" οnclick="addTreeNode(0);">
                    <li>添加分组</li></ul>
                <ul id="m_add1" οnclick="addTreeNode(1);">
                    <li>添加好友</li></ul>
                <ul id="m_del" οnclick="removeTreeNode(0);">
                    <li>删除该组</li></ul>
                <ul id="m_del1" οnclick="removeTreeNode(1);">
                    <li>删除好友</li></ul>
            </li>
        </div>

 

js注册菜单

 //---------------------------右键菜单----------------------------------------
        var zTree1;
        var setting;


        setting = {
            editable: true,
            checkable: false,
            edit_removeBtn: false,
            callback: {
                dblclick: zTreeOnDblclick,
                drag: zTreeOnDrag,
                drop: zTreeOnDrop,
                rename: zTreeOnRename,
                rightClick: zTreeOnRightClick
            }

        };
        var rMenu;

 

  $(document).ready(function () {

            refreshTree();
            rMenu = document.getElementById("rMenu");
            $("body").bind("mousedown",
   function (event) {
       if (!(event.target.id == "rMenu" || $(event.target).parents("#rMenu").length > 0)) {
           rMenu.style.visibility = "hidden";
       }
   });
        });

 

 callback绑定事件可以绑定多个事件

具体可以才看ztree事件

 

具体大家可以代码吧,

想查看的最新的到:IT潮流网

 

 

转载于:https://www.cnblogs.com/itclw/archive/2011/12/21/2295790.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值