You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
3.3 KiB
124 lines
3.3 KiB
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
<meta name="generator" content="Asciidoctor 1.5.8"> |
|
<title>Untitled</title> |
|
<link rel="stylesheet" href="css/spring.css"> |
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> |
|
|
|
<style> |
|
.hidden { |
|
display: none; |
|
} |
|
|
|
.switch { |
|
border-width: 1px 1px 0 1px; |
|
border-style: solid; |
|
border-color: #7a2518; |
|
display: inline-block; |
|
} |
|
|
|
.switch--item { |
|
padding: 10px; |
|
background-color: #ffffff; |
|
color: #7a2518; |
|
display: inline-block; |
|
cursor: pointer; |
|
} |
|
|
|
.switch--item:not(:first-child) { |
|
border-width: 0 0 0 1px; |
|
border-style: solid; |
|
border-color: #7a2518; |
|
} |
|
|
|
.switch--item.selected { |
|
background-color: #7a2519; |
|
color: #ffffff; |
|
} |
|
</style> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js"></script> |
|
<script type="text/javascript"> |
|
function addBlockSwitches() { |
|
$('.primary').each(function() { |
|
primary = $(this); |
|
createSwitchItem(primary, createBlockSwitch(primary)).item.addClass("selected"); |
|
primary.children('.title').remove(); |
|
}); |
|
$('.secondary').each(function(idx, node) { |
|
secondary = $(node); |
|
primary = findPrimary(secondary); |
|
switchItem = createSwitchItem(secondary, primary.children('.switch')); |
|
switchItem.content.addClass('hidden'); |
|
findPrimary(secondary).append(switchItem.content); |
|
secondary.remove(); |
|
}); |
|
} |
|
|
|
function createBlockSwitch(primary) { |
|
blockSwitch = $('<div class="switch"></div>'); |
|
primary.prepend(blockSwitch); |
|
return blockSwitch; |
|
} |
|
|
|
function findPrimary(secondary) { |
|
candidate = secondary.prev(); |
|
while (!candidate.is('.primary')) { |
|
candidate = candidate.prev(); |
|
} |
|
return candidate; |
|
} |
|
|
|
function createSwitchItem(block, blockSwitch) { |
|
blockName = block.children('.title').text(); |
|
content = block.children('.content').first().append(block.next('.colist')); |
|
item = $('<div class="switch--item">' + blockName + '</div>'); |
|
item.on('click', '', content, function(e) { |
|
$(this).addClass('selected'); |
|
$(this).siblings().removeClass('selected'); |
|
e.data.siblings('.content').addClass('hidden'); |
|
e.data.removeClass('hidden'); |
|
}); |
|
blockSwitch.append(item); |
|
return {'item': item, 'content': content}; |
|
} |
|
|
|
function globalSwitch() { |
|
$('.switch--item').each(function() { |
|
$(this).off('click'); |
|
$(this).on('click', function() { |
|
selectedText = $(this).text() |
|
selectedIndex = $(this).index() |
|
$(".switch--item").filter(function() { return ($(this).text() === selectedText) }).each(function() { |
|
$(this).addClass('selected'); |
|
$(this).siblings().removeClass('selected'); |
|
selectedContent = $(this).parent().siblings(".content").eq(selectedIndex) |
|
selectedContent.removeClass('hidden'); |
|
selectedContent.siblings().addClass('hidden'); |
|
}); |
|
}); |
|
}); |
|
} |
|
|
|
$(addBlockSwitches); |
|
$(globalSwitch); |
|
|
|
</script> |
|
|
|
</head> |
|
<body class="book"> |
|
<div id="header"> |
|
</div> |
|
<div id="content"> |
|
|
|
</div> |
|
<script type="text/javascript" src="js/tocbot/tocbot.min.js"></script> |
|
<script type="text/javascript" src="js/toc.js"></script> |
|
<link rel="stylesheet" href="js/highlight/styles/github.min.css"> |
|
<script src="js/highlight/highlight.min.js"></script> |
|
<script>hljs.initHighlighting()</script> |
|
</body> |
|
</html> |