jquery или js въпрос.

  • Автор Автор proba
  • Начална дата Начална дата

proba

Registered
Здравейте.
Имам един линк който отваря 1 скрит div.
Как мога да направя като цъкна втори път върху линка div-a да се скрива ?
Сега го отварям така:

<a href="javascript: void(0);" onclick="document.getElementsByClassName(\'subpanel\')[0].style.display=\'block\';" class="chat">Сподели на още места</a>

Как би могло да стане след като веднъж съм кликнал на линка после при onclick да не го прави display block а да го прави display none ?

Едит: незнам jquery или js тъй като самото показване става чрез jquery та затова съм написал такова заглавие.
Иначе въпросът е това по-горе как да се променя в зависимост дали е показана лентата..
 
Ей тук има подобна тема, ама решението е с javascript без jQuery. Иначе и в темата има линк към друга тема, която помага с jQuery :) :
http://web-tourist.net/forum/viewtopic.php?t=109393
 
Не ми трябва нов код за това.
Тъй като стария си е заедно с лентата (като на fb чата).
И не искам да се сменя надписа покажи/скрий а просто при втори клик да се скрива.
 
[js]if(document.getElementsByClassName(\'subpanel\')[0].style.display==\'block\') { document.getElementsByClassName(\'subpanel\')[0].style.display=\'block\'; return false } if (document.getElementsByClassName(\'subpanel\')[0].style.display==\'none\') { document.getElementsByClassName(\'subpanel\')[0].style.display=\'none\'; }[/js]
 
Ето ти едно демо , пригодено за твоя случай , но-много по добър вариянт.
Аи да отметна ,че съм ползвал ИД , а не клас, защото няма смисъл ми се струва


HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title> Добре дошли!</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<style>
		#subpanel{
			display:none;
		}
	</style>
</head>
	<body>
		<a href="#nogo" onclick="toggle();" class="chat">Сподели на още места</a>
		<div id="subpanel">
			съдържание
		</div>
		<script type="text/javascript">
			function toggle(){
				var subpanel = document.getElementById('subpanel');
				
				if ( subpanel.className == 'selected'){
					subpanel.style.display='none';
					subpanel.className= '';
				}else{
					subpanel.style.display='block';
					subpanel.className= 'selected';
				}
			}
		</script>
	</body>
</html>
 
Ето ти още един вариянт, малко по-различен. Тук просто добавяме и махаме клас, а тоя клас скрива и показва елемента, но тоя не работи на ие 6 със сигурност :)

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title> Добре дошли!</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<style>
		#subpanel{
			display:none;
		}
		#subpanel.selected{
			display:block;
		}
	</style>
</head>
	<body>
		<a href="#nogo" onclick="toggle();" class="chat">Сподели на още места</a>
		<div id="subpanel">
			съдържание
		</div>
		<script type="text/javascript">
			function toggle(){
				var subpanel = document.getElementById('subpanel');
				
				if ( subpanel.className == 'selected')
						subpanel.className= '';
				else
						subpanel.className= 'selected';
				
			}
		</script>
	</body>
</html>
 
вариянт с jquery ---
HTML:
 <script src="http://code.jquery.com/jquery-latest.js"></script> 
<script>
function togglediv(div) {//като div е diva който ще показваме 
$('#'+div).toggle('medium');
}
</script>
<a href="javascript:(0)" onClick="togglediv('showme')">Покажи дива</a>
<div style="display:none;" id="showme">info</div>

става точно това което искаш :P
 
[js]<script type="text/javascript">
$('.chat').click(function(){
$("#div").slideToggle("slow");
});
</script>
<a href="javascript: void(0);" class="chat">Сподели на още места</a>
<div id="div">teksta za skrivane</div>[/js]
 
Към лентата имаше толкова функций дето незнам за какво са че махнах цялото jquery понеже всичко се объркваше по начините на kriss и IzKuFeLiQqQqQ..
Направих го с кода на shterev. +1 и благодаря на всички отзовали се ;)
 

Back
Горе