JS实现文章的显示隐藏

3 篇文章 0 订阅
<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>文章显示和隐藏</title>
		<style type="text/css">
			div{
				border: 1px solid #A0C7FD;
				padding: 10px;
			}
			a{
				color: #0062CC;
			}
			
		</style>
	</head>

	<body>
		<p>原文:唧唧复唧唧,木兰当户织。不闻机杼声,唯闻女叹息。 问女何所思,问女何所忆。女亦无所思,女亦无所忆。昨夜见军帖,可汗大点兵,军书十二卷,卷卷有爷名。阿爷无大儿,木兰无长兄,愿为市鞍马,从此替爷征。 东市买骏马,西市买鞍鞯,南市买辔头,北市买长鞭。旦辞爷娘去,暮宿黄河边,不闻爷娘唤女声,但闻黄河流水鸣溅溅。旦辞黄河去,暮至黑山头,不闻爷娘唤女声,但闻燕山胡骑鸣啾啾。 万里赴戎机,关山度若飞。朔气传金柝,寒光照铁衣。将军百战死,壮士十年归。 归来见天子,天子坐明堂。策勋十二转,赏赐百千强。可汗问所欲,木兰不用尚书郎,愿驰千里足,送儿还故乡。 爷娘闻女来,出郭相扶将;阿姊闻妹来,当户理红妆;小弟闻姊来,磨刀霍霍向猪羊。开我东阁门,坐我西阁床,脱我战时袍,著我旧时裳。当窗理云鬓,对镜贴花黄。出门看火伴,火伴皆惊忙:同行十二年,不知木兰是女郎。 雄兔脚扑朔,雌兔眼迷离;双兔傍地走,安能辨我是雄雌?</p>
		<br /><br />
		<div id="box">
			
		</div>
		<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
		<script type="text/javascript">
			
			window.οnlοad=function(){
				
				
				var content="唧唧复唧唧,木兰当户织。不闻机杼声,唯闻女叹息。 问女何所思,问女何所忆。女亦无所思,女亦无所忆。昨夜见军帖,可汗大点兵,军书十二卷,卷卷有爷名。阿爷无大儿,木兰无长兄,愿为市鞍马,从此替爷征。 东市买骏马,西市买鞍鞯,南市买辔头,北市买长鞭。旦辞爷娘去,暮宿黄河边,不闻爷娘唤女声,但闻黄河流水鸣溅溅。旦辞黄河去,暮至黑山头,不闻爷娘唤女声,但闻燕山胡骑鸣啾啾。 万里赴戎机,关山度若飞。朔气传金柝,寒光照铁衣。将军百战死,壮士十年归。 归来见天子,天子坐明堂。策勋十二转,赏赐百千强。可汗问所欲,木兰不用尚书郎,愿驰千里足,送儿还故乡。 爷娘闻女来,出郭相扶将;阿姊闻妹来,当户理红妆;小弟闻姊来,磨刀霍霍向猪羊。开我东阁门,坐我西阁床,脱我战时袍,著我旧时裳。当窗理云鬓,对镜贴花黄。出门看火伴,火伴皆惊忙:同行十二年,不知木兰是女郎。 雄兔脚扑朔,雌兔眼迷离;双兔傍地走,安能辨我是雄雌?";
				
				$("#box").html("<p>"+cutstr(content,100)+"</p>");
			}
			
			
			
			/** 
			 * js截取字符串,中英文都能用 
			 * @param str:需要截取的字符串 
			 * @param len: 需要截取的长度 
			 */
			function cutstr(centent, len) {
				var str_length = 0;
				var str_len = 0;
				str_cut = new String();
				str_len = centent.length;
				for(var i = 0; i < str_len; i++) {
					a = centent.charAt(i);
					str_length++;
					if(escape(a).length > 4) {
						//中文字符的长度经编码之后大于4  
						str_length++;
					}
					str_cut = str_cut.concat(a);
					if(str_length >= len) {
						str_cut = str_cut.concat("...<br /><a  class='text-centent-show'  data-show='" + centent + "'  data-hide='" + str_cut + "'  show='0'  οnclick='showAll(this)'>全文</a>");
						return str_cut;
					}
				}
				//如果给定字符串小于指定长度,则返回源字符串;  
				if(str_length < len) {
					return centent;
				}
			}
			
			
			//显示全文
		function showAll(t) {

			var is_show = $(t).attr("show");
			//0:隐藏,1:显示
			if(is_show<1){
				//隐藏-->显示
				$(t).text("收起");
				$(t).attr("show",1);
				var content = $(t).attr("data-show");//获取全文
				var html=$(t).prop('outerHTML');//读取元素
				$(t).parent().html(content+"<br />"+html);//更改显示内容
				//console.log(html);
				//alert("全文");
				//console.log(content);
			}else{
				//显示-->隐藏
				$(t).text("全文");
				$(t).attr("show",0);
				var content = $(t).attr("data-hide");//获取收缩内容
				var html=$(t).prop('outerHTML');//读取元素
				$(t).parent().html(content+"<br />"+html);//更改显示内容
				//alert("收起");
				//console.log(content);
			}
		}
			
		</script>
	</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值