Нужно открыть первый спойлер при загрузке
Есть код спойлера!
$(document).ready(function(){
$('.splLink').click(function(){
$('div.splCont').not($(this).parent().children('div.splCont')).slideUp('normal');
$(this).parent().children('div.splCont').slideDown('normal');
return false;
});
});
После загрузки страницы все спойлеры закрыты! <div class="splLink">1</div> <div class="splCont">текст 1</div> <div class="splLink">2</div> <div class="splCont">текст 2</div> <div class="splLink">3</div> <div class="splCont">текст 3</div> нужно что бы первый спойл открылся после загрузки! Приблизительно понимаю, что нужно выбрать first.child(splCont) и сделать .slideUp(first.child(splCont) но так как синтаксис не знаю и прошу вашей помощи! |
Попробовал так!
$(document).ready(function(){
$('div.splCont:first-child').slideUp('normal');
$('.splLink').click(function(){
$('div.splCont').not($(this).parent().children('div.splCont')).slideUp('normal');
$(this).parent().children('div.splCont').slideDown('normal');
return false;
});
});
Но результата не получил( |
$('.splLink').first().click()
|
Цитата:
$(document).ready(function(){
$('.splLink').first().click()
$('.splLink').click(function(){
$('div.splCont').not($(this).parent().children('div.splCont')).slideUp('normal');
$(this).parent().children('div.splCont').slideDown('normal');
return false;
});
});
|
Проблему решил!
$(document).ready(function(){
$('div.splCont').first().slideDown('normal');
$('.splLink').click(function(){
$('div.splCont').not($(this).parent().children('div.splCont')).slideUp('normal');
$(this).parent().children('div.splCont').slideDown('normal');
return false;
});
});
Всем спасибо! |
Бедный браузер. :) Всего лишь один клик и юзается столько методов, которые внутри используют ещё кучу методов и парсеров. :-?
|
Цитата:
|
karakym, может и смогу, сначала опиши, что там у тебя вообще за скрипт и что должен делать? Простая система спойлеров, которые плавно открываются/закрываются?
|
karakym,
решение Skipp, рабочее только вы его неправильно использовали -- кликать надо после того как клик назначен |
короче, это спойлер-гармошка, пример тут
он должен открывать один споил и закрывать при этом предыдущий! Мне нужно было только, что бы при загрузке страницы он открыл первый споил! |
Вариант на скорую руку. ;)
http://learn.javascript.ru/play/fqkLOb
<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<style type="text/css">
.spoiler:not(:first-child) > div {
display: none;
}
</style>
</head>
<body>
<section class="spoiler">
<a href="#">Спойлер 1</a>
<div>короче, это спойлер-гармошка, пример тут
он должен открывать один споил и закрывать при этом предыдущий!
Мне нужно было только, что бы при загрузке страницы он открыл первый споил!</div>
</section>
<section class="spoiler">
<a href="#">Спойлер 2</a>
<div>короче, это спойлер-гармошка, пример тут
он должен открывать один споил и закрывать при этом предыдущий!
Мне нужно было только, что бы при загрузке страницы он открыл первый споил!</div>
</section>
<section class="spoiler">
<a href="#">Спойлер 3</a>
<div>короче, это спойлер-гармошка, пример тут
он должен открывать один споил и закрывать при этом предыдущий!
Мне нужно было только, что бы при загрузке страницы он открыл первый споил!</div>
</section>
<script type="text/javascript">
$(function() {
var activeSpoiler = $('.spoiler:first > a');
$(document).on('click', '.spoiler > a', function() {
var self = $(this)
if(this == activeSpoiler[0]) self.next().slideToggle();
else {
activeSpoiler.next().slideUp();
self.next().slideDown();
activeSpoiler = self;
}
});
});
</script>
</body>
</html>
|
Цитата:
А мог бы ты пожалуйста, подогнать мне его под <tr> Вот у меня можно увидеть, что жмется только средний столбик для открытия спойлера, а пользователи пытаются нажимать на строку <tr></tr> полностью и иногда из за этого заблуждаются и уходят! |
karakym, ну так просто вставляй спойлер в ячейку. :)
|
karakym,
$(document).ready(function() {
var tr = $('.table-wrapper tbody tr');
tr.click(function() {
tr.not(this).find('.splCont').slideUp('normal');
$('.splCont', this).slideToggle('normal')
return false;
}).eq(0).click();
});
|
Цитата:
|
| Часовой пояс GMT +3, время: 09:23. |