Я не могу это переключить, чтобы читать более или менее слайд, чтобы работать. Я очень близко, но я не уверен, как отобразить #show-about
anchor, чтобы он сначала показывал "read more"
?
$('#show-about').click(function(e){
e.preventDefault();
$('#about-hidden').slideToggle();
$(this).text( $(this).text() == 'Read More' ? "Show Less" : "Read More");
});
Просто измените исходный текст в своей разметке.
<a href="#" id="show-about">Read More</a>
Изменить:
<a href="#" id="show-about">More...</a>
чтобы:
<a href="#" id="show-about">Read More</a>
Казалось бы, ваша проблема связана с $(this).text() == 'Read More'? "Show Less": "Read More"
$(this).text() == 'Read More'? "Show Less": "Read More"
и ваша ссылка с текстом More...
Когда вы нажимаете ссылку, $(this).text()
равно More...
, однако вы сравниваете его с Read More
, поэтому измените ссылку, чтобы она соответствовала, и вы в порядке.
Почему вы просто не пишете на якорь "Подробнее" вместо "Подробнее..."?
Вы можете сделать это с помощью jQuery
например:
JS
$('#show-about')
.text('Read More')
.click(function (e) {
e.preventDefault();
$('#about-hidden').slideToggle();
$(this).text($(this).text() == 'Read More' ? "Show Less" : "Read More");
});
Демо: скрипка
Но, если вы можете изменить разметку HTML и иметь полный доступ к ней, вы можете просто сделать это:
HTML
<a href="#" id="show-about">Read More</a>