大佬们,求一串代码

从不吃馍 2017-10-13 12:41:00
我现在有<pre class="brush:html">此处省略5000字符</pre>标签,高度不固定。
求代码
当<pre>高度低于100px的时候,不做修改,当高度超过100px的时候,给pre赋值style="max-height:100px;overflow:hidden;",并在pre的底部显示“显示全部内容”,点击文字钮就把style="max-height:100px;overflow:hidden;"移除,这样就能显示<pre>全部的内容。
总结来说,就是我pre内容如果太多,超过了100px高度,就把per设置最大高度max-height:100px;并禁止滚动条,此时点击“阅读全部”文字,则移除style,并隐藏“阅读全部”这几个字

有没有哪个老铁有现成的案例或者代码,先行谢过。
...全文
201 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
从不吃馍 2017-10-13
  • 打赏
  • 举报
回复
引用 4 楼 qq_32661557 的回复:
[quote=引用 2 楼 qq_33992806 的回复:] [quote=引用 1 楼 qq_32661557 的回复:]

<html>
<head>
    <style>
        .test {
            max-height: 100px;
            overflow: hidden;
        }
    </style>
</head>
<body>
<pre class="brush:html test" id='pre'><div id="test">此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符
此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br /></div></pre>
    <input type="button" onclick="show();" id='btn' style="display:none;" value="点击显示更多" />
</body>
<script>
    var oDiv = document.getElementById('test');
    var btn = document.getElementById('btn');
    if (oDiv.offsetHeight > 100) {
        btn.style.display = 'block';
    }
    function show() {
        var elements = document.getElementById('pre');
        var cName = "test";
        elements.className = elements.className.replace(new RegExp("(\\s|^)" + cName + "(\\s|$)"), " ");
    }
</script>
</html>
谢大佬,不过还有个问题,点击显示更多这个按钮我点击一次之后就消失怎么弄,也就是随着<pre>的展开同时消失 另外 这个input按钮我把onclick="show();" 写到<span>会有效吗[/quote]

<html>
<head>
    <style>
        .test {
            max-height: 100px;
            overflow: hidden;
        }
    </style>
</head>
<body>
<pre class="brush:html test" id='pre'><div id="test">此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符
此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br /></div></pre>
    <input type="button" onclick="show(this);" id='btn' style="display:none;" value="点击显示更多" />
</body>
<script>
    var oDiv = document.getElementById('test');
    var btn = document.getElementById('btn');
    if (oDiv.offsetHeight > 100) {
        btn.style.display = 'block';
    }
    function show(e) {
        var elements = document.getElementById('pre');
        var cName = "test";
        elements.className = elements.className.replace(new RegExp("(\\s|^)" + cName + "(\\s|$)"), " ");
		e.style.display = 'none';
    }
</script>
</html>
onclick="show();" 写到<span>标签内也有效[/quote] 谢谢(#^.^#)
从不吃馍 2017-10-13
  • 打赏
  • 举报
回复
引用 3 楼 Ragin 的回复:
一楼的在show()方法加段代码就可以让按钮消失了

function show() {
document.getElementById('btn').style.display='none';
//其他代码不变
}
或者jquery

<!DOCTYPE html>
<html>
<head>
<script src="http://www.17sucai.com/preview/1/2017-09-25/swiperTab/js/jquery.min.js"></script>
</head>
<body>
<pre class="brush:html">此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符
此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br /></pre>
    <input type="button" id='btn' style="display:none;" value="点击加载更多" />
</body>
<script>
    $(function(){
		if ($('pre').height() > 100) {
			$('#btn').show();
			$('pre').css({'max-height': '100px','overflow': 'hidden'});
		}
		
		$('#btn').on('click', function(){
			$(this).hide();
			$('pre').css({'max-height': '','overflow': ''});
		})
	})
</script>
</html>
谢谢(#^.^#)
Braska 2017-10-13
  • 打赏
  • 举报
回复
一楼的在show()方法加段代码就可以让按钮消失了

function show() {
document.getElementById('btn').style.display='none';
//其他代码不变
}
或者jquery

<!DOCTYPE html>
<html>
<head>
<script src="http://www.17sucai.com/preview/1/2017-09-25/swiperTab/js/jquery.min.js"></script>
</head>
<body>
<pre class="brush:html">此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符
此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br /></pre>
    <input type="button" id='btn' style="display:none;" value="点击加载更多" />
</body>
<script>
    $(function(){
		if ($('pre').height() > 100) {
			$('#btn').show();
			$('pre').css({'max-height': '100px','overflow': 'hidden'});
		}
		
		$('#btn').on('click', function(){
			$(this).hide();
			$('pre').css({'max-height': '','overflow': ''});
		})
	})
</script>
</html>
本人QQ-554433626 2017-10-13
  • 打赏
  • 举报
回复
引用 2 楼 qq_33992806 的回复:
[quote=引用 1 楼 qq_32661557 的回复:]

<html>
<head>
    <style>
        .test {
            max-height: 100px;
            overflow: hidden;
        }
    </style>
</head>
<body>
<pre class="brush:html test" id='pre'><div id="test">此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符
此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br /></div></pre>
    <input type="button" onclick="show();" id='btn' style="display:none;" value="点击显示更多" />
</body>
<script>
    var oDiv = document.getElementById('test');
    var btn = document.getElementById('btn');
    if (oDiv.offsetHeight > 100) {
        btn.style.display = 'block';
    }
    function show() {
        var elements = document.getElementById('pre');
        var cName = "test";
        elements.className = elements.className.replace(new RegExp("(\\s|^)" + cName + "(\\s|$)"), " ");
    }
</script>
</html>
谢大佬,不过还有个问题,点击显示更多这个按钮我点击一次之后就消失怎么弄,也就是随着<pre>的展开同时消失 另外 这个input按钮我把onclick="show();" 写到<span>会有效吗[/quote]

<html>
<head>
    <style>
        .test {
            max-height: 100px;
            overflow: hidden;
        }
    </style>
</head>
<body>
<pre class="brush:html test" id='pre'><div id="test">此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符
此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br /></div></pre>
    <input type="button" onclick="show(this);" id='btn' style="display:none;" value="点击显示更多" />
</body>
<script>
    var oDiv = document.getElementById('test');
    var btn = document.getElementById('btn');
    if (oDiv.offsetHeight > 100) {
        btn.style.display = 'block';
    }
    function show(e) {
        var elements = document.getElementById('pre');
        var cName = "test";
        elements.className = elements.className.replace(new RegExp("(\\s|^)" + cName + "(\\s|$)"), " ");
		e.style.display = 'none';
    }
</script>
</html>
onclick="show();" 写到<span>标签内也有效
从不吃馍 2017-10-13
  • 打赏
  • 举报
回复
引用 1 楼 qq_32661557 的回复:

<html>
<head>
    <style>
        .test {
            max-height: 100px;
            overflow: hidden;
        }
    </style>
</head>
<body>
<pre class="brush:html test" id='pre'><div id="test">此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符
此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br /></div></pre>
    <input type="button" onclick="show();" id='btn' style="display:none;" value="点击显示更多" />
</body>
<script>
    var oDiv = document.getElementById('test');
    var btn = document.getElementById('btn');
    if (oDiv.offsetHeight > 100) {
        btn.style.display = 'block';
    }
    function show() {
        var elements = document.getElementById('pre');
        var cName = "test";
        elements.className = elements.className.replace(new RegExp("(\\s|^)" + cName + "(\\s|$)"), " ");
    }
</script>
</html>
谢大佬,不过还有个问题,点击显示更多这个按钮我点击一次之后就消失怎么弄,也就是随着<pre>的展开同时消失 另外 这个input按钮我把onclick="show();" 写到<span>会有效吗
本人QQ-554433626 2017-10-13
  • 打赏
  • 举报
回复

<html>
<head>
    <style>
        .test {
            max-height: 100px;
            overflow: hidden;
        }
    </style>
</head>
<body>
<pre class="brush:html test" id='pre'><div id="test">此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符
此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br />此处省略5000字符<br /></div></pre>
    <input type="button" onclick="show();" id='btn' style="display:none;" value="点击显示更多" />
</body>
<script>
    var oDiv = document.getElementById('test');
    var btn = document.getElementById('btn');
    if (oDiv.offsetHeight > 100) {
        btn.style.display = 'block';
    }
    function show() {
        var elements = document.getElementById('pre');
        var cName = "test";
        elements.className = elements.className.replace(new RegExp("(\\s|^)" + cName + "(\\s|$)"), " ");
    }
</script>
</html>

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧