让HTML页面上的一些行在点击时展开(和折叠),最简单的方法是什么?
背景:我正在使用一个定制的CMS,我可以粘贴HTML,也可以编辑CSS。但是我不能添加特殊的库。
我遇到的问题是,当我点击展开时,浏览器会转到屏幕顶部,而不是停留在原来的位置。
我的代码大致如下:
<body>
<script type="text/javascript">
function toggleView(id, link) {
var e = document.getElementById(id);
if (e.style.display == '') {
e.style.display = 'none';
link.innerHTML = '(+)';
} else {
e.style.display = '';
link.innerHTML = '(-)';
}
}
</script>
<br>
<br>
<br>
<br>
<br>
This is my headline <a href="#" onclick="toggleView('content', this)">(+)</a>
<div id="content" style="display:none">
This is my detailed content Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc fermentum.
</div>
<br>
<br>
<br>
<br>
<br>
</body>
这可以在纯CSS中完成还是使用Javascript更好?
不好意思,我在别处找不到答案。
J这可以使用JQuery轻松完成。
$("#content").slideToggle();
您可以使用:
href="javascript:void(0);"
代替:
href="#"
但这里有一个更简单的例子!
<div class="example2">
<p>Text Here.</p>
</div>
$(document).ready(function() {
$('.example2').hide().before('<a href="#" id="toggle-example2" class="button">Open/Close</a>');
$('a#toggle-example2').click(function() {
$('.example2').slideToggle(1000);
return false;
});
});
JSFiddle:
链接