mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-28 23:59:57 +09:00
navigatpr widget fix
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5844 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
f14d588445
commit
ed300def8a
1 changed files with 26 additions and 177 deletions
|
|
@ -13,18 +13,10 @@ function WidgetNavigator(menu_srl){
|
||||||
var node_srl = jQuery(this).attr('node_srl');
|
var node_srl = jQuery(this).attr('node_srl');
|
||||||
if(self.menu_srl && node_srl && widget_navigator && widget_navigator[self.menu_srl]){
|
if(self.menu_srl && node_srl && widget_navigator && widget_navigator[self.menu_srl]){
|
||||||
|
|
||||||
// 생성되지 않을때만 생성
|
jQuery('ul[node_srl='+node_srl+']').remove();
|
||||||
if(jQuery('ul[node_srl='+node_srl+']').size() ==0){
|
var wn = widget_navigator[self.menu_srl].drawMenu(node_srl);
|
||||||
var wn = widget_navigator[self.menu_srl].drawMenu(node_srl);
|
if(wn) wn.appendTo(jQuery('html>body'));
|
||||||
if(wn) wn.appendTo(jQuery('html>body'));
|
|
||||||
|
|
||||||
// 이미 있다면 show
|
|
||||||
}else{
|
|
||||||
jQuery('a',this).show();
|
|
||||||
jQuery('ul[node_srl='+node_srl+']').show();
|
|
||||||
jQuery('ul[node_srl='+node_srl+']').children('li').show();
|
|
||||||
jQuery('ul[node_srl='+node_srl+']').children('li').children('a').show();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
).mouseout(
|
).mouseout(
|
||||||
|
|
@ -74,7 +66,7 @@ WidgetNavigator.prototype.drawMenu = function(parent_srl){
|
||||||
var parent_offset = jQuery('li.node_'+parent_srl).offset();
|
var parent_offset = jQuery('li.node_'+parent_srl).offset();
|
||||||
h.css({
|
h.css({
|
||||||
top : parent_offset.top + jQuery('li.node_'+parent_srl).height()-2,
|
top : parent_offset.top + jQuery('li.node_'+parent_srl).height()-2,
|
||||||
left : parent_offset.left
|
left : parent_offset.left
|
||||||
})
|
})
|
||||||
|
|
||||||
// 2차메뉴
|
// 2차메뉴
|
||||||
|
|
@ -98,181 +90,39 @@ WidgetNavigator.prototype.drawMenu = function(parent_srl){
|
||||||
var t = jQuery(this);
|
var t = jQuery(this);
|
||||||
|
|
||||||
var m = t.attr('text');
|
var m = t.attr('text');
|
||||||
if(!m) return;
|
if(m){
|
||||||
var u ='#';
|
var u ='#';
|
||||||
if(t.attr('url')){
|
if(t.attr('url')){
|
||||||
if(/^http\:\/\//.test(t.attr('url'))){
|
if(/^http\:\/\//.test(t.attr('url'))){
|
||||||
u = t.attr('url');
|
u = t.attr('url');
|
||||||
}else{
|
}else{
|
||||||
u = request_uri.setQuery('mid',t.attr('url'));
|
u = request_uri.setQuery('mid',t.attr('url'));
|
||||||
}
|
|
||||||
}
|
|
||||||
m = '<a href="' + u + '"'+(t.attr('open_window')=='Y'?' target="blank"':'')+'>'+m+'</a>';
|
|
||||||
|
|
||||||
|
|
||||||
jQuery('<li class="node_'+ t.attr('node_srl') +( i==0?' ':'')+'" node_srl="'+ t.attr('node_srl')+'">')
|
|
||||||
.html(m)
|
|
||||||
.mouseover(function(){
|
|
||||||
jQuery(this).toggleClass('active','');
|
|
||||||
var node_srl = jQuery(this).attr('node_srl');
|
|
||||||
|
|
||||||
if(self.menu_srl && node_srl && widget_navigator && widget_navigator[self.menu_srl]){
|
|
||||||
if(jQuery('ul[node_srl='+node_srl+']').size() ==0){
|
|
||||||
var wn = widget_navigator[self.menu_srl].drawMenu(node_srl);
|
|
||||||
// if(wn) wn.appendTo(jQuery('li[node_srl='+node_srl+']'));
|
|
||||||
}else{
|
|
||||||
jQuery('ul[node_srl='+node_srl+']').show();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
.mouseout(function(){
|
m = '<a href="' + u + '"'+(t.attr('open_window')=='Y'?' target="blank"':'')+'>'+m+'</a>';
|
||||||
var node_srl = jQuery(this).attr('node_srl');
|
|
||||||
jQuery('ul[node_srl='+node_srl+']').hide();
|
|
||||||
})
|
|
||||||
.appendTo(h);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
return h;
|
jQuery('<li class="node_'+ t.attr('node_srl') +( i==0?' ':'')+'" node_srl="'+ t.attr('node_srl')+'">')
|
||||||
}
|
.html(m)
|
||||||
|
.mouseover(function(){
|
||||||
|
jQuery(this).toggleClass('active','');
|
||||||
WidgetNavigator.prototype.load = function(xml){
|
|
||||||
this.xml = xml;
|
|
||||||
var self = this;
|
|
||||||
jQuery.get(xml,{},function(data){
|
|
||||||
// for ie
|
|
||||||
self.data = jQuery(data.replace(/\<(\/|)node/g,'<$1span').replace(/\<(\/|)root/g,'<$1div'));
|
|
||||||
},'text');
|
|
||||||
}
|
|
||||||
|
|
||||||
WidgetNavigator.prototype.getMenu = function(parent_srl){
|
|
||||||
var m = this.data;
|
|
||||||
return m.find("[parent_srl="+parent_srl+"]");
|
|
||||||
}
|
|
||||||
|
|
||||||
WidgetNavigator.prototype.getDepth = function(node_srl){
|
|
||||||
var m = this.data.find('span[node_srl='+node_srl+']');
|
|
||||||
return m.parents("span").size();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
function WidgetNavigator(menu_srl){
|
|
||||||
var self = this;
|
|
||||||
self.menu_srl = menu_srl;
|
|
||||||
|
|
||||||
// 1depth 메뉴를 먼저
|
|
||||||
jQuery(function(){
|
|
||||||
jQuery('ul.widget_navigator_'+menu_srl+' > li')
|
|
||||||
.mouseover(
|
|
||||||
function(e){
|
|
||||||
jQuery(this).parent().children('li').removeClass('active');
|
|
||||||
jQuery(this).addClass('active');
|
|
||||||
|
|
||||||
var node_srl = jQuery(this).attr('node_srl');
|
var node_srl = jQuery(this).attr('node_srl');
|
||||||
if(self.menu_srl && node_srl && widget_navigator && widget_navigator[self.menu_srl]){
|
|
||||||
|
|
||||||
// 생성되지 않을때만 생성
|
if(self.menu_srl && node_srl && widget_navigator && widget_navigator[self.menu_srl]){
|
||||||
if(jQuery('ul[node_srl='+node_srl+']').size() ==0){
|
if(jQuery('ul[node_srl='+node_srl+']').size() ==0){
|
||||||
var wn = widget_navigator[self.menu_srl].drawMenu(node_srl);
|
var wn = widget_navigator[self.menu_srl].drawMenu(node_srl);
|
||||||
if(wn) wn.appendTo(jQuery('html>body'));
|
// if(wn) wn.appendTo(jQuery('li[node_srl='+node_srl+']'));
|
||||||
|
|
||||||
// 이미 있다면 show
|
|
||||||
}else{
|
}else{
|
||||||
jQuery('ul[node_srl='+node_srl+']').show();
|
jQuery('ul[node_srl='+node_srl+']').show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
).mouseout(
|
.mouseout(function(){
|
||||||
function(e){
|
|
||||||
jQuery(this).parent().children('li.active').removeClass('active');
|
|
||||||
jQuery(this).parent().children('li._active').addClass('active');
|
|
||||||
|
|
||||||
var node_srl = jQuery(this).attr('node_srl');
|
var node_srl = jQuery(this).attr('node_srl');
|
||||||
// jQuery('ul[node_srl='+node_srl+']').hide();
|
jQuery('ul[node_srl='+node_srl+']').hide();
|
||||||
}
|
})
|
||||||
);
|
.appendTo(h);
|
||||||
|
}
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
WidgetNavigator.prototype.drawMenu = function(parent_srl){
|
|
||||||
var self = this;
|
|
||||||
var c = this.getMenu(parent_srl);
|
|
||||||
|
|
||||||
// 하위메뉴가 없다
|
|
||||||
if(c.size()==0) return '';
|
|
||||||
|
|
||||||
var depth = this.getDepth(parent_srl);
|
|
||||||
|
|
||||||
// 하위 메뉴를 만든다
|
|
||||||
var h = jQuery('<ul class="widgetNavSub '+hrMenuColorset+'" node_srl="'+parent_srl+'">')
|
|
||||||
|
|
||||||
.css({ position:'absolute' })
|
|
||||||
|
|
||||||
.mouseover(function(){
|
|
||||||
|
|
||||||
jQuery('li.[node_srl='+parent_srl+']').parent().show();
|
|
||||||
jQuery(this).show();
|
|
||||||
|
|
||||||
})
|
|
||||||
.mouseout(function(){
|
|
||||||
// jQuery(this).hide();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 1차메뉴
|
|
||||||
if(depth <1){
|
|
||||||
var parent_offset = jQuery('li.node_'+parent_srl).offset();
|
|
||||||
h.css({
|
|
||||||
top : parent_offset.top + jQuery('li.node_'+parent_srl).height(),
|
|
||||||
left : parent_offset.left
|
|
||||||
})
|
|
||||||
|
|
||||||
// 2차메뉴
|
|
||||||
}else{
|
|
||||||
h.css({
|
|
||||||
left: 40
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
h.mouseover(function(e){
|
|
||||||
jQuery('li[node_srl='+parent_srl+']').mouseover();
|
|
||||||
})
|
|
||||||
.mouseout(function(e){
|
|
||||||
jQuery('li[node_srl='+parent_srl+']').mouseout();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
c.each(function(i){
|
|
||||||
var t = jQuery(this);
|
|
||||||
|
|
||||||
var m = t.attr('text');
|
|
||||||
m = '<a href="' + (t.attr('url')?t.attr('url'):'#') + '"'+(t.attr('open_window')=='Y'?' target="blank"':'')+'>'+m+'</a>';
|
|
||||||
|
|
||||||
|
|
||||||
jQuery('<li class="node_'+ t.attr('node_srl') +( i==0?' ':'')+'" node_srl="'+ t.attr('node_srl')+'">')
|
|
||||||
.html(m)
|
|
||||||
.mouseover(function(){
|
|
||||||
jQuery(this).toggleClass('active','');
|
|
||||||
var node_srl = jQuery(this).attr('node_srl');
|
|
||||||
|
|
||||||
if(self.menu_srl && node_srl && widget_navigator && widget_navigator[self.menu_srl]){
|
|
||||||
if(jQuery('ul[node_srl='+node_srl+']').size() ==0){
|
|
||||||
var wn = widget_navigator[self.menu_srl].drawMenu(node_srl);
|
|
||||||
if(wn) wn.appendTo(jQuery('li[node_srl='+node_srl+']'));
|
|
||||||
}else{
|
|
||||||
jQuery('ul[node_srl='+node_srl+']').show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.mouseout(function(){
|
|
||||||
var node_srl = jQuery(this).attr('node_srl');
|
|
||||||
jQuery('ul[node_srl='+node_srl+']').hide();
|
|
||||||
})
|
|
||||||
.appendTo(h);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -297,5 +147,4 @@ WidgetNavigator.prototype.getMenu = function(parent_srl){
|
||||||
WidgetNavigator.prototype.getDepth = function(node_srl){
|
WidgetNavigator.prototype.getDepth = function(node_srl){
|
||||||
var m = this.data.find('span[node_srl='+node_srl+']');
|
var m = this.data.find('span[node_srl='+node_srl+']');
|
||||||
return m.parents("span").size();
|
return m.parents("span").size();
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue