我正在创建一个基本网站,我有以下隐藏div的脚本:
<script type="text/javascript">
<!--
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
//-->
</script>
<a href="#" onclick="toggle_visibility('description');">Show/Hide Description</a>
<div id="description">
<br>
<br>
<p>This is a test paragraph</p>
</div>
加载页面时,默认为显示文本。如何在每次加载页面时隐藏div内的文本?
我希望用户手动点击按钮查看文字。
编辑:
我现在添加了一个+符号的图片,以便用户可以点击+,并使用以下行显示文字:
<h4>Backstory</h4>
<img alt="" style="width: 20px; height: 20px;" src="./images/headerExpand.png" a href="#" onclick="toggle_visibility('backstory');">Show/Hide Description</a>
<div id="backstory" style="display: none">
<br>
<p>This is a new block of text</p>
</div>
./images/headerExpand.png是+符号
的图标单击+图标后,如何将+图标更改为 - 图标?
感谢。
答案 0 :(得分:4)
将显示设置为无
<div id="description" style="display: none">
重新设计的解决方案可能看起来像
<!-- Add a class toggler and the id of the target element as the href-->
<a href="#description" class="toggler">Show/Hide Description</a>
<!-- Add a class hidden so that the element is hidden when the page loads -->
<div id="description" class="hidden">
<br/>
<br/>
<p>This is a test paragraph</p>
</div>
CSS
.hidden {
display: none;
}
然后是jQuery脚本
// dom ready handler
jQuery(function () {
//register a click handelr for all anchor elements with class toggler
$('a.toggler').click(function (e) {
//prevent the default action of the event
e.preventDefault();
//togger the visibility of the element targetted by the href
$($(this).attr('href')).toggle()
});
})
演示:Fiddle
答案 1 :(得分:1)
使用symply CSS:
<p style="display:none;">This is a test paragraph</p>
答案 2 :(得分:0)
你有2个选项,在html中设置css属性就像其他答案一样
<div id="description" style="display: none">
或将你的javascript包装成告诉页面在页面加载时运行stript
使用jQuery
$(document).ready(function(){
//your code
});
或
$(function(){
//your code
});
或常规旧javascript
window.onload = function(){
//your code
});