Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать смену текста по клику на ссылку? (https://javascript.ru/forum/misc/29727-kak-sdelat-smenu-teksta-po-kliku-na-ssylku.html)

goooooch 09.07.2012 11:52

Как сделать смену текста по клику на ссылку?
 
Есть простенькая jquery-функция и код:
<script type="text/javascript">
function hideShow(el){
$(el).toggleClass('show').prev('div.hideCont').slideToggle('normal');
return false;
};
</script>
<h3>Заголовок</h3>
<p>Кратккое описание.</p>
<div class="hideWrap">
<div class="hideCont">Полное описание</div>
<a class="hideBtn" onclick="hideShow(this);return false;" href="javascript://">Читать дальше</a>
</div>


Работает, как надо, НО нужно, чтобы по клику на ссылку "Читать дальше" текст менялся на "Свернуть". Причем таких блоков будет несколько на одной странице. Поможет кто-нибудь?

Deff 09.07.2012 12:42

<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<style>
 div.hideCont,
 a.hideBtn.hide{
 display:none;
}
</style>

<script type="text/javascript">
$(document).ready(function(){
$("a.hideBtn,a.hideBtn.hide").click(function(){
  var Prnt=$(this).parents('.hideWrap:first');
  Prnt.find('a.hideBtn,div.hideCont').toggle('fast')
return false;
 });
});
</script>

<h3>Заголовок</h3>
<p>Краткое описание.</p>
<div class="hideWrap">
<a class="hideBtn hide" href="#">Cвернуть</a>
<a class="hideBtn" href="#">Читать дальше</a>
<div class="hideCont">Полное описание</div>
<a class="hideBtn hide" href="#">Cвернуть</a>
<br /><br />

</div>

goooooch 09.07.2012 15:33

Немного другой эффект возможен?
 
А как сделать так, чтобы сворачивание-разворачивание было с эффектом аккордеона (скрытый контент плавно раздвигался вниз)?

Deff 09.07.2012 15:39

<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<style>
 div.hideCont,
 a.hideBtn.hide{
 display:none;
}
</style>

<script type="text/javascript">
$(document).ready(function(){
$("a.hideBtn,a.hideBtn.hide").click(function(){
  var Prnt=$(this).parents('.hideWrap:first');
  Prnt.find('a.hideBtn').toggle();
  Prnt.find('div.hideCont').slideToggle('normal');
return false;
 });
});
</script>

<h3>Заголовок</h3>
<p>Краткое описание.</p>
<div class="hideWrap">
<a class="hideBtn hide" href="#">Cвернуть</a>
<a class="hideBtn" href="#">Читать дальше</a>
<div class="hideCont">Полное описание<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
</div>
<a class="hideBtn hide" href="#">Cвернуть</a>
<br /><br />

</div>


Любое из "свернуть" - можно убрать

goooooch 09.07.2012 17:04

отлично. спасибо. то, что надо.


Часовой пояс GMT +3, время: 19:00.