Javascript 如果对我的期望给出相反的响应,请阅读更多
我在我的程序中使用了readmore javascript,它可以运行,但答案不正确 当我单击“查看更多”时,它提供的输出较少,而当我单击“查看较少”时,它是“查看更多”。它显示出与它应该是的相反 我试着更改代码,但它不能正常工作Javascript 如果对我的期望给出相反的响应,请阅读更多,javascript,html,Javascript,Html,我在我的程序中使用了readmore javascript,它可以运行,但答案不正确 当我单击“查看更多”时,它提供的输出较少,而当我单击“查看较少”时,它是“查看更多”。它显示出与它应该是的相反 我试着更改代码,但它不能正常工作 <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> &l
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
// Configure/customize these variables.
var showChar = 50; // How many characters are shown by default
var ellipsestext = "...";
var moretext = "Show more >";
var lesstext = "Show less";
$('.more').each(function() {
var content = $(this).html();
if(content.length > showChar) {
var c = content.substr(0, showChar);
var h = content.substr(showChar, content.length - showChar);
var html = c + '<span class="moreellipses">' + ellipsestext+ ' </span><span class="morecontent"><span>' + h + '</span> <a href="" class="morelink">' + moretext + '</a></span>';
$(this).html(html);
}
});
$(".morelink").click(function(){
if($(this).hasClass("less")) {
$(this).removeClass("less");
$(this).html(moretext);
} else {
$(this).addClass("less");
$(this).html(lesstext);
}
$(this).parent().prev().toggle();
$(this).prev().toggle();
return false;
});
});
</script>
<title>jQuery Read More/Less Toggle Example</title>
</head>
<body>
<span class="more">
Lorem ipsum dolor sit dolore magna aliqua.Excepteur sint occaecat cupidatat anim id est laborum.
</span>
<br><br>
<div class="more">
Morbi placerat imperdiet arcu massa. In hac <a href="#">habitasse</a> platea dictumst. <em>convallis magna nunc</em>, id rhoncus massa ornare in.
</div>
</body>
</html>
您在中的定位点中放置了错误的文本。morelink单击处理程序。您需要按如下方式进行更改:
$(".morelink").click(function(){
if($(this).hasClass("less")) {
$(this).removeClass("less");
$(this).html(lesstext);
} else {
$(this).addClass("less");
$(this).html(moretext);
}
// rest of code here
}
要在开始时显示正确的标签,还必须将在document load moretext上创建的html内容更改为lesstext:
然后它将以您想要的方式运行,但要正确剪切文本,您必须对代码进行更多更改。感谢您的重播。在何处使用此变量html?我把你的jacascript代码放在我的程序里,这不是工作,是工作,但现在它先显示,然后显示more@Bhaveshvar html=。。。您需要放置代码,而不是放在代码的同一行。在内联javascript代码的第12行中有它。我将修改后的示例放到JSFIDLE中—看一看。另外,请花点时间理解应用程序中的每一行代码意味着什么,因为如果不了解基本知识,您将无法继续前进。我编辑了标题,以便对您所看到的问题给出一个简短的解释—删除句子结构,并将其转化为一个简单的要点。我更新了这篇文章的语法,使之更符合英语,没关系。。。你问得这么好真是太好了!
var html = c + '<span class="moreellipses">' + ellipsestext+ ' </span><span class="morecontent"><span>' + h + '</span> <a href="" class="morelink">' + lesstext + '</a></span>';