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

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

08.02.2014, 10:43. Показов 8462. Ответов 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2014, 10:43
Ответы с готовыми решениями:

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

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

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

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

3
16 / 16 / 8
Регистрация: 15.03.2010
Сообщений: 320
08.02.2014, 22:08 2
Лучший ответ Сообщение было отмечено 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  [ТС] 3
По началу не работало, я попробовал убрать код PHP из ссылки с классом .inviz и все сразу пошло. Спасибо большое за помощь.

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

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

P.S. Не за что!
1
09.02.2014, 10:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2014, 10:16
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru