Slidetoggle

critrate

Registered
Здравейте.Понеже нямам място в админ панела да слагам 10 текстове с линкове реших да използвам този начин.Да си направя бутон и като натисна на него да излизат в бокс текстовете с линковете.

function sett() {
$("#stt").slideToggle("slow");
}

проблема е,че като сложа дива с цикъл и като ми излиза примерно на 10 резултата бутона като натисна на последния бутон примерно винаги се показва първия ,т.е. на който и бутон да натисна винаги показва първия ..

Някой има ли идея как да го оправя?
 
Вместо да пишеш ид-то пишеш this при селектирането на елемента, който да се покаже. Пример:
[js]
$(document).ready(function(){
$("#stt").click(function(){
$(this).hide();
});
});[/js]

Така, ако имаш 20 елемента с ид stt точно този, който си кликнал ще се скрие. Мисля, че не по този начин ти е устроен html-a затова ще ти дам един друг пример.

HTML:
<div id="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>
<div id="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>
<div id="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>

В този случай JS
[js]
$(document).ready(function(){
$("#link").click(function(){
$(this).children('.link-hidden').hide();
});
});[/js]
 
critrate каза:
по този начин не става
Офф много съм проС. Трябва да е клас, а не id защото id може само един път да се иползва. Направи го с клас и няма да имаш проблем.
 
HTML:
<div id="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>
<div id="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>
<div id="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>

В този случай JS
[js]
$(document).ready(function(){
$("#link").click(function(){
$(this).children('.link-hidden').hide();
});
});[/js]

точно това излизам,но в php цикъл.и работи само за първия резултат,за другите не
 
critrate каза:
HTML:
<div id="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>
<div id="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>
<div id="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>

В този случай JS
[js]
$(document).ready(function(){
$("#link").click(function(){
$(this).children('.link-hidden').hide();
});
});[/js]

точно това излизам,но в php цикъл.и работи само за първия резултат,за другите не

Като е ид работи само първия резултат. Нали това ти обеснявах. Така става

HTML:
<div class="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>
<div class="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>
<div class="link">Link1<div class="link-hidden">teksta, bla bla bla</div></div>

В този случай JS
[js]
$(document).ready(function(){
$(".link").click(function(){
$(this).children('.link-hidden').hide();
});
});[/js]
 
благодаря така стана,може ли само да ми кажеш как да ги направя попринцип да са скрити и като аз натисна на текста да се показва,и после съответно като пак натисна да се скриват
 
critrate каза:
благодаря така стана,може ли само да ми кажеш как да ги направя попринцип да са скрити и като аз натисна на текста да се показва,и после съответно като пак натисна да се скриват
[js]$(document).ready(function(){
$('.link-hidden').slideToggle(100);
$(".link").click(function(){
$(this).children('.link-hidden').hide();
});
});[/js]
 
sianbg_s каза:
critrate каза:
благодаря така стана,може ли само да ми кажеш как да ги направя попринцип да са скрити и като аз натисна на текста да се показва,и после съответно като пак натисна да се скриват
[js]$(document).ready(function(){
$('.link-hidden').slideToggle(100);
$(".link").click(function(){
$(this).children('.link-hidden').hide();
});
});[/js]
така винаги са скрити и не искат да се показват като кликна на текста
 

Back
Горе