我正在设计一个WP网站,但我对谷歌的正确用语感到茫然。我正在寻找的是一个“可以切换的文本容器”。我有一个语法突出显示用于发布代码的插件,但我不希望代码在大块中可见,因为它可能有点分散注意力。我想知道是否有人可以将我链接到插件或给我我正在考虑的技术术语,在那里你可以将文本放在一个组中,然后能够切换它是否在页面内可见。
答案 0 :(得分:0)
听起来你正在寻找的只是将CSS类应用于元素,然后使用jQuery或其他一些JS库来切换其可见性。下面的例子(为了解释一些概念,代码没有被优化。这可以,阅读“应该”,清理):
// This is HTML/CSS
<body>
...
<p>Here is some normal text.</p>
<a href="#" id="source_code_displayText_method_toggle_link">Show/hide source code for displayText method</a>
<div class="source_code" id="source_code_for_displayText_method">
// Groovy code
...
public void displayText(String message) {
outputStream.write(message)
}
...
</div>
...
<a href="#" id="source_code_download_method_toggle_link">Show/hide source code for download method</a>
<div class="source_code" id="source_code_for_download_method">
// Groovy code
...
GParsPool.withPool(threads) {
sessionDownloadedFiles = localUrlQueue.collectParallel { URL url ->
downloadFileFromURL(url)
}
}
...
</div>
...
<a href="#" id="source_code_all_toggle_link">Show/hide all source code sections</a>
...
</body>
您可以将所有源代码部分默认为隐藏:
// This is CSS
.source_code {
display: hidden;
}
然后你会使用JS来提供toggle能力:
// This is JavaScript
// This toggles a specific section by using an id ("#") selector
$('#source_code_displayText_method_toggle_link').onClick(function() {
$('#source_code_for_displayText_method').toggle();
});
// This toggles all source code sections by using a class (".") selector
$('#source_code_all_toggle_link').onClick(function() {
$('.source_code').toggle();
});
一些想法:
.hide()
和.show()
。
// This is HTML/CSS
<body>
...
<p>Here is some normal text.</p>
<a href="#" class="source_code_toggle_link" id="source_code_toggle_link_1">Show/hide source code for displayText method</a>
<div class="source_code" id="source_code_1">
// Groovy code
...
public void displayText(String message) {
outputStream.write(message)
}
...
</div>
...
<a href="#" class="source_code_toggle_link" id="source_code_toggle_link_2">Show/hide source code for download method</a>
<div class="source_code" id="source_code_2">
// Groovy code
...
GParsPool.withPool(threads) {
sessionDownloadedFiles = localUrlQueue.collectParallel { URL url ->
downloadFileFromURL(url)
}
}
...
</div>
...
<a href="#" id="source_code_all_toggle_link">Show/hide all source code sections</a>
...
</body>
使用JavaScript来处理id解析:
// This is JavaScript
// This toggles a specific section by using a dynamic id ("#") selector
$('.source_code_toggle_link').onClick(function(elem) {
var id = $(elem).attr("id");
// Split on the _ and take the last element in the resulting array
var idNumber = id.split("_")[-1];
var codeBlock = $('#source_code_' + idNumber);
codeBlock.toggle();
});