Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/42: Рейтинг темы: голосов - 42, средняя оценка - 4.71
8 / 8 / 2
Регистрация: 31.12.2012
Сообщений: 47

Свернуть/Развернуть блок через jQuery

08.02.2014, 10:43. Показов 8578. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Мне задали задачку сделать такую страничку со списком постов в которой считывались бы данные из БД кто автор поста, текст поста, дата поста и тд.
С этим я справился но при это должна еще быть возможность сворачивать и разворачивать эти посты при клике на кнопку Свернуть/Развернуть и сделать это через jQuery.
Увы но jQuery я знаю плохо, а что бы вникнуть в тему как следует уйдет много времени которого у меня увы нету.
Вот код
index.php
HTML5 Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html>
<head>
<title>jQuery AND php </title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<link rel="stylesheet" href="main_style.css">
</head>
<body>
<?php
$db = mysql_connect('localhost','root','')or die(mysql_error());
mysql_select_db('test-bd',$db)or die(mysql_error());
$result = mysql_query("SELECT * FROM posts",$db)or die(mysql_error());
?>
<div id='main_blok'>
    <?php 
    for($i=0;$i<mysql_num_rows($result); $i++){
        $arr = mysql_fetch_array($result)
        if($arr['show']==1){
            include('public_post.php');
            }
        }
    ?>
<input type='hidden' value='post_id<?php echo $_REQUEST['post_id'];?>' >
</div>
</body>
</html>
public_post.php

HTML5 Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    <div class='post' id=<?php echo "post_id".$arr['post_id'];?>>
        <div class='head_caption'>
            <span class='author'><?php echo "Автор: ".$arr['author']; ?></span>
            <span class='hedr'><?php echo "Тема: ".$arr['header']; ?></span>
          <span class='inviz'><a href='?post_id=<?php echo $arr['post_id']; ?>'>Свернуть/Развернуть</a></span>
            <span class='date'><?php echo $arr['data_post']; ?></span>
        </div>
        <div class='body_content01'>
            <div class='body_content02'>
                <?php echo $arr['text_content']; ?>
            </div>    
        </div>
        <div class='foot'><span class='cout'><a href="#">Коментировать</a></span></div>
    </div> <!--post-->
main_style.css
CSS Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
.post{
    min-width:600px;
    max-width:600px;
    border:double 3px black;
    }
.head_caption{
    width:100%;
    height:25px;
    background:#CCC;
    }
.body_content01{
    width:95%;
    margin:5px;
    background:tan;
    }
.body_content02{
    padding:3px;
    border:solid 1px black;
    }
.author, .date, .hedr, .inviz{
    border-bottom:solid 1px black;
    float:left;
    height:20px;
    margin-left:3px;
    padding:2px;
    }
.date{
    float:right; 
    border-left: solid 1px black;
     }
.inviz{
    border-left:solid 1px black;
    float:right;
}
.foot{
    height:20px;
    }
.cout{
    border:solid 1px black;
    background:#0FF;
    margin:2px;
    }
.cout a, .inviz a{
    text-decoration:none;
    color:black;    
}
.inviz{
    background:#9C3;
    }
.date{
    background:#F90;
    }
#test{
    width:100px;
    height:100px;
    background:#666;
    }
В принципе у меня идея была такая, что бы при создании каждому посту присваивался уникальный id
HTML5 Скопировано
1
<div class='post' id=<?php echo "post_id".$arr['post_id'];?>>
и при нажатии на ссылку Свернуть/Развернуть создавалась бы переменная ?post_id с тем же значением что и пост в котором она расположена.
HTML5 Скопировано
1
 <span class='inviz'><a href='?post_id=<?php echo $arr['post_id']; ?>'>Свернуть/Развернуть</a></span>
после клика по этой ссылке переменная создается потом ее значение записывается в поле hidden в value
HTML5 Скопировано
1
<input type='hidden' value='post_id<?php echo $_REQUEST['post_id'];?>' >
И потом уже из этого поле value jQuery должен был получить значение и искать элемент с таким же id и этот элемент свернуть\развернуть.
Я пытался сделать это функциями jQuery hide() и show() (как я понял именно ими это и надо делать) но что то не получилось.
Если что вот так выглядит моя таблица в БД откуда извлекаются данные.

post_id | header | text_content | data_post | author | show
1 | Заголовок | Контент | Дата | Автор | Показывать или нет(1-показывать\0-нет)

Вообщем на вашу помощь уповаю. Помогите пожалуйста, буду очень благодарен.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.02.2014, 10:43
Ответы с готовыми решениями:

Свернуть развернуть div через <a href='#'>
Здравсвуйте, как мне сделать скрытыми блоки div а при нажатии на ссылку их открывать, изначально ссылка и блоки прописаны в php echo...

Развернуть\свернуть текст
Доброго времени суток! Подскажите пожалуйста, как сделать: есть текст вытащин с БД, нужно на странице, изначально вставить его по...

Свернуть\развернуть по ссылке
Вот хочу научиться работать с jQ, но что-то не получается. Хочу чтобы див сворачивался и разворачивался по нажатию на ссылку. Что не так ? ...

3
 Аватар для Lion_astana
16 / 16 / 8
Регистрация: 15.03.2010
Сообщений: 321
08.02.2014, 22:08
Лучший ответ Сообщение было отмечено Azerrot как решение

Решение

Azerrot, слушай, ты много написал, все читать не буду, попал в форум jQuery из PHP случайно...

Первое - что-то старая версия JQ у тебя кажется
JavaScript Скопировано
1
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
Добавлено через 1 минуту
Кнопка свернуть-развернуть у тебя всегда видна вместе с заголовком, автором и т.д, верно?

Добавлено через 6 минут
Не проверял, но попробуй:

JavaScript Скопировано
1
2
3
4
5
6
7
8
$(function(){   
 
    $(".inviz").click(function(){
        var postBlock = $(this).parents("div .post");
        $(postBlock).find(".body_content01").slideToggle(1000);     
    });
 
});
Работа тут только с классами, они одни у одинаковых элементов всех блоков, так и у самих блоков. ID здесь не нужны ИМХО.
1
8 / 8 / 2
Регистрация: 31.12.2012
Сообщений: 47
09.02.2014, 10:03  [ТС]
По началу не работало, я попробовал убрать код PHP из ссылки с классом .inviz и все сразу пошло. Спасибо большое за помощь.

ЗЫ: Не подскажите напоследок хороший сайт справочник по jQuery на русском?
0
 Аватар для Lion_astana
16 / 16 / 8
Регистрация: 15.03.2010
Сообщений: 321
09.02.2014, 10:16
Для начала можно посматривать http://anton.shevchuk.name/jav... beginners/

А вообще, найдите книгу Берб Бибо, Иегуда Кац - jQuery. Подробное руководство по продвинутому JavaScript (High Tech) - 2011

P.S. Не за что!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.02.2014, 10:16
Помогаю со студенческими работами здесь

Свернуть/развернуть div в рамках сессии
Здравствуйте. Подскажите пожалуйста, как сделать так, чтобы див, закрытый посредством кода ниже, сохранял свою позиции всю сессию...

Свернуть/развернуть блок при загрузке согласно адресу страницу
Здравствуйте, подскажите нубу есть код открывающегося и закрывающегося div'a &lt;div id=&quot;barchives&quot;...

Развернуть/свернуть
Доброго времени суток, проблема такая , не работает JS код в браузерах, то есть нажимаешь кнопку развернуть, а оно не реагирует.В хроме все...

Свернуть/развернуть окно средствами JS
Возможно ли с помощью JS свернуть/развернуть окно браузера?

свернуть блок
хочу сделать по аналогии с вк.ком. если в блоке инфы много, он должен сворачиваться. при нажатии на &quot;показать полностью&quot; блок...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
Линейное решение нелинейной задачи будет применено как метод обработки данных из double buffering. Формулы от LM конечно с ошибками.
Hrethgir 10.04.2025
В продолжение Эта LM дала ответ похожий на нормальный. В комментриях мой комментарий - похоже она ошиблась с выведением итоговой формулы, но остальные проверю. Assistant qwen2. 5-14b-instruct . . . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Линейное решение не линейной задачи (емкость вычислений в сравнении с традиционными решениями пока не определена).
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
Подключение Kafka к Elasticsearch
Codd 09.04.2025
Apache Kafka и Elasticsearch — две мощные технологии, которые при совместном использовании создают эффективную платформу для обработки и анализа данных в реальном времени. Kafka, выступая в роли. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер