扩展Jquery.tree实现下拉菜单树
时间:2008-10-29
来源:互联网
小弟赚点开源币换好东东。见笑了。
jQuery.fn.extend({
DropTree:function(URL){
var offset = this.offset();
var timeout = null;
if(offset!=null)
{
var height = this.height();
this.after('<img src="/images/pick-button.gif" align="ABSMIDDLE" id="inputchannel" /><div id="DropTree" style="background-color:#fff;border:1px dotted #FF3300;position: absolute;left:'+(offset.left)+';"><ul id="black"></ul></div>');
$('#black').treeview({
url: URL
});
$('#DropTree').hide();
$('#DropTree').css('width','200');
$('#inputchannel').click(function(){
$('select').hide();
$('#DropTree').show();
if($('#black').html()=='')
{
$('#black').html('<a href="/channel/create/type/media">'+l_add+l_space+l_media+'</a>');
}
if((offset.top+$('#DropTree').height())>$().height())
{
$('#DropTree').css('top',offset.top-$('#DropTree').height());
}
else
{
$('#DropTree').css('top',offset.top+height+8);
}
});
$('#DropTree').mouseover(function(){
if (timeout) clearTimeout(timeout);
});
$('#DropTree').mouseout(function(){
hideTree();
});
$('#inputchannel').mouseout(function(){
hideTree();
});
}
function hideTree() {
if (timeout) clearTimeout(timeout);
timeout = setTimeout(hideTreeNow, 500);
};
function hideTreeNow()
{
$('select').show();
$('#DropTree').hide();
}
}
});
隐藏下拉菜单
jQuery.extend({
DropTreeHide:function(){
$('select').show();
$('#DropTree').hide();
}
});
$("#jquery").after("<script src='/scripts/jquery-treeview/lib/jquery.cookie.js' type='text/javascript'></script>");
$("#jquery").after("<script src='/scripts/jquery-treeview/jquery.treeview.js' type='text/javascript'></script>");
$("#jquery").after("<script src='/scripts/jquery-treeview/jquery.treeview.async.js' type='text/javascript'></script>");
$("#jquery").after('<link href="/scripts/jquery-treeview/jquery.treeview.css" rel="stylesheet" type="text/css" />');
$("#jquery").after("<script src='/scripts/custom/DropTree.js' type='text/javascript'></script>");
//调用 channel_name为text或其他任何input控件
$("#channel_name").DropTree('/channel/tree/type/adplace');
服务器端需要提供Jquery.treeview要求的Json数组
[{"text":"<img src=\"\/images\/media.gif\" align=\"ABSMIDDLE\" \/>\u8702\u9e1f\u7f51","children":[{"text":"<img src=\"\/images\/channel.gif\" align=\"ABSMIDDLE\" \/>\u65b0\u95fb\u9996\u9875","children":[{"text":" <img src=\"\/images\/file.gif\" align=\"ABSMIDDLE\" \/><a href='javascript:inputChannel(\"\u65b0\u95fb\u9996\u9875\",\"69\")'>\u65b0\u95fb\u9996\u9875<\/a>","children":[]}]}]}]
具体Jquery.tree 使用参见http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
jQuery.fn.extend({
DropTree:function(URL){
var offset = this.offset();
var timeout = null;
if(offset!=null)
{
var height = this.height();
this.after('<img src="/images/pick-button.gif" align="ABSMIDDLE" id="inputchannel" /><div id="DropTree" style="background-color:#fff;border:1px dotted #FF3300;position: absolute;left:'+(offset.left)+';"><ul id="black"></ul></div>');
$('#black').treeview({
url: URL
});
$('#DropTree').hide();
$('#DropTree').css('width','200');
$('#inputchannel').click(function(){
$('select').hide();
$('#DropTree').show();
if($('#black').html()=='')
{
$('#black').html('<a href="/channel/create/type/media">'+l_add+l_space+l_media+'</a>');
}
if((offset.top+$('#DropTree').height())>$().height())
{
$('#DropTree').css('top',offset.top-$('#DropTree').height());
}
else
{
$('#DropTree').css('top',offset.top+height+8);
}
});
$('#DropTree').mouseover(function(){
if (timeout) clearTimeout(timeout);
});
$('#DropTree').mouseout(function(){
hideTree();
});
$('#inputchannel').mouseout(function(){
hideTree();
});
}
function hideTree() {
if (timeout) clearTimeout(timeout);
timeout = setTimeout(hideTreeNow, 500);
};
function hideTreeNow()
{
$('select').show();
$('#DropTree').hide();
}
}
});
隐藏下拉菜单
jQuery.extend({
DropTreeHide:function(){
$('select').show();
$('#DropTree').hide();
}
});
$("#jquery").after("<script src='/scripts/jquery-treeview/lib/jquery.cookie.js' type='text/javascript'></script>");
$("#jquery").after("<script src='/scripts/jquery-treeview/jquery.treeview.js' type='text/javascript'></script>");
$("#jquery").after("<script src='/scripts/jquery-treeview/jquery.treeview.async.js' type='text/javascript'></script>");
$("#jquery").after('<link href="/scripts/jquery-treeview/jquery.treeview.css" rel="stylesheet" type="text/css" />');
$("#jquery").after("<script src='/scripts/custom/DropTree.js' type='text/javascript'></script>");
//调用 channel_name为text或其他任何input控件
$("#channel_name").DropTree('/channel/tree/type/adplace');
服务器端需要提供Jquery.treeview要求的Json数组
[{"text":"<img src=\"\/images\/media.gif\" align=\"ABSMIDDLE\" \/>\u8702\u9e1f\u7f51","children":[{"text":"<img src=\"\/images\/channel.gif\" align=\"ABSMIDDLE\" \/>\u65b0\u95fb\u9996\u9875","children":[{"text":" <img src=\"\/images\/file.gif\" align=\"ABSMIDDLE\" \/><a href='javascript:inputChannel(\"\u65b0\u95fb\u9996\u9875\",\"69\")'>\u65b0\u95fb\u9996\u9875<\/a>","children":[]}]}]}]
具体Jquery.tree 使用参见http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
作者: wz_910 发布时间: 2008-10-29
不错不错,应该贴个图,和提供一个下载文件
作者: jerry2801 发布时间: 2009-07-19
不错,支持
作者: lukui306 发布时间: 2009-07-20
非常好,正是我想要的 ,THANK YOU !!!
作者: zjpdd1023 发布时间: 2010-07-01
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28