106 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| !function ($) {
 | |
| 	$.fn.h6Size = function () {
 | |
| 		$h6 = this;
 | |
| 		$h6.each(function(i) {
 | |
| 			var W = $(this).width()-$(this).find('.toggle-control').width()-$(this).children('b').outerWidth(true)-5;
 | |
| 			$(this).children('span').width(W);
 | |
| 		});
 | |
| 	};
 | |
| }(window.jQuery);
 | |
| 
 | |
| $(function() {
 | |
| 	// $('.toggle-check').togglebox();
 | |
| 	var $mapTree = $('.map-tree'),
 | |
| 		$mapTreeItem = $mapTree.children('li'),
 | |
| 		$mapItemH6 = $mapTree.find('h6');
 | |
| 	var mapItem = function(w) {
 | |
| 		var WinW = $(window).width(),
 | |
| 			W = null;
 | |
| 		if(WinW < 767) {
 | |
| 			W = w;
 | |
| 		} else {
 | |
| 			W = (w-64)/2;
 | |
| 		};
 | |
| 		return W;
 | |
| 	};
 | |
| 	$('#map-tree-language').css('margin-left',ml = function() {
 | |
| 		var W = null;
 | |
| 		$(this).children('li').map(function(i, v) {
 | |
| 			W -= $(v).width()/2;
 | |
| 		});
 | |
| 		return W;
 | |
| 	});
 | |
| 	$mapTree.each(function(i) {
 | |
| 		$('.line').append("<ul class='line"+(i+1)+" fade'/>");
 | |
| 		if(i < 1) {
 | |
| 			$('.line'+(i+1)).addClass("in active");
 | |
| 		};
 | |
| 		$(this).children('li').each(function(j) {
 | |
| 			$('.line').children('.line'+(i+1)).append("<li/>");
 | |
| 		});
 | |
| 	});
 | |
| 	$mapTreeItem.children('h6').find('span').before(function() {
 | |
| 		var I = ($(this).parents('li').index()+1);
 | |
| 		if (I < 10) {
 | |
| 			I = "0"+I;
 | |
| 		}
 | |
| 		return "<b>" + I + "</b>";
 | |
| 	});
 | |
| 	$mapTreeItem.width(mapItem($mapTree.width()))
 | |
| 	$mapItemH6.h6Size();
 | |
| 
 | |
| 	$mapTree.each(function() {
 | |
| 		$(this).masonry({
 | |
| 			itemSelector: '.map-tree > li',
 | |
| 			gutter: 60,
 | |
| 		});
 | |
| 		$(this).masonry('on', 'layoutComplete', function(msnryInstance, laidOutItems) {
 | |
| 			// console.log(msnryInstance.element)
 | |
| 			var element = msnryInstance.element;
 | |
| 			$(element).children('li').children('h6').each(function(i) {
 | |
| 				$('ul.line'+$(element).index()).children('li').eq(i).css('top', ($(this).offset().top-$('ul.line'+$(element).index()).offset().top)+15);
 | |
| 			});
 | |
| 		});
 | |
| 	});
 | |
| 	$mapTree.each(function(j) {
 | |
| 		$(this).children('li').children('h6').each(function(i) {
 | |
| 			$('ul.line'+(j+1)).children('li').eq(i).css('top',($(this).offset().top-$('ul.line'+(j+1)).offset().top)+15);
 | |
| 		});
 | |
| 		$(this).children('li').on('mouseenter', function() {
 | |
| 			$('ul.line'+(j+1)).children('li').eq($(this).index()).css({
 | |
| 				'background-color': '#0088cc',
 | |
| 				'z-index': 1,
 | |
| 			})
 | |
| 		});
 | |
| 		$(this).children('li').on('mouseleave', function() {
 | |
| 			$('ul.line'+(j+1)).children('li').eq($(this).index()).css({
 | |
| 				'background-color': '#DBDBDB',
 | |
| 				'z-index': 0,
 | |
| 			})
 | |
| 		});
 | |
| 	});
 | |
| 	$('#map-tree-language a[data-toggle="tab"]').on('shown', function (e) {
 | |
| 		var target = $(e.target).attr('href');
 | |
| 		// console.log($(target).index())
 | |
| 		$('ul.line'+$(target).index()).addClass("in active").siblings().removeClass("in active");
 | |
| 		$mapTreeItem.width(mapItem($(target).width()))
 | |
| 		// $mapTree.map(function(i,v){
 | |
| 		// 	console.log(v.id +" : " +$(v).width() )
 | |
| 		// })
 | |
| 		$mapItemH6.h6Size();
 | |
| 		$(target).masonry({
 | |
| 			itemSelector: '.map-tree > li',
 | |
| 			gutter: 60,
 | |
| 		});
 | |
| 	});
 | |
| 	$(window).resize(function() {
 | |
| 		var W = null;
 | |
| 		$mapTree.map(function(i,v){
 | |
| 			if($(v).width() > 0) {
 | |
| 				W = $(v).width();
 | |
| 			};
 | |
| 		});
 | |
| 		$mapTreeItem.width(mapItem(W));
 | |
| 		$mapItemH6.h6Size();
 | |
| 	});
 | |
| }); |