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

Слайд-панель в зависимости от размера содержимого

23.04.2014, 20:17. Показов 1032. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, необходимо чтобы слайд-панелька раскрывалась в зависимости от высоты содержимого, сделал с учетом высоты в 100%, но в этом случае не применяется эффект плавного появления.
Если работать с px то все нормально, это можно проследить когда панелька плавно закрывается обратно.
Что необходимо изменить в коде, чтобы эффект применялся при открытии панельки?

Файл index.html
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script>
$(document).ready(function(){
$("#show_answer").slideBox({width: "100%", height: "100%", position: "bottom"});
});
</script>
</head>
<body>
<div id="show_answer">
<p><span class="letter_green">Пример 7.</span> Разделить число 1011011101001<sub>2</sub> на 1110011<sub>2</sub>.</p>
<p><span class="letter_green">Решение:</span></p>
<p><span class="letter_green">Ответ:</span> 1011011101001<sub>2</sub> / 1110011<sub>2</sub>=110011<sub>2</sub></p>
</div>
</body>
</html>
И собственно скрипт
Java
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
(function($){
    $.fn.slideBox = function(params){
    var content = $(this).html();
        var defaults = {
            width: "100%",
            height: "100%",
            position: "bottom"          // Возможные значения : "top", "bottom"
        }
        
        if(params) $.extend(defaults, params);
        
        var divPanel = $("<div class='slide-panel'>");
        var divContent = $("<div class='content'>");
    
        $(divContent).html(content);
        $(divPanel).addClass(defaults.position);
        $(divPanel).css("width", defaults.width);
 
        // Добавляем кнопку
        $(divPanel).append("<div class='slide-button'><b>Посмотреть решение</b></div>");
        $(divPanel).append("<div style='display: none' id='close-button' class='slide-button'><b>Спрятать решение</b></div>");
        
        if(defaults.position == "bottom")
            $(divPanel).append($(divContent));
        
        $(this).replaceWith($(divPanel));
        
        //Действие по нажатию кнопки
        $(".slide-button").click(function(){
            if($(this).attr("id") == "close-button")
                $(divContent).animate({height: "0px"}, 1000);
            else
                $(divContent).animate({height: defaults.height}, 1000);
            
            $(".slide-button").toggle();
        });
    };
})(jQuery);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.04.2014, 20:17
Ответы с готовыми решениями:

Изменение размера блока в зависимости от его размера
Ребят в JS я вообще новичок, и при создании блога вышел нюанс, что без js не обойтись. Есть блок, внутри которого текст ( текст будет...

Отображение содержимого в зависимости от размера экрана
На странице есть два дива, необходимо в зависимости от размеров экрана отображать первый, когда страница по ширине больше 480 и второй,...

Позиционирование содержимого в зависимости от размера формы и шрифта
Доброго времени суток, уважаемые форумчане! В общем не могу понять как сделать так, что бы все содержимое на форме было относительно...

4
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
23.04.2014, 20:23
TwoFaceMan, решили повелосипедить? Зачем animate(), если для таких целей есть .slideUp() и .slideDown()?
0
69 / 69 / 50
Регистрация: 25.03.2012
Сообщений: 241
23.04.2014, 20:32
А если за место animate применить slideUp и slideDown?
0
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 2
23.04.2014, 22:23  [ТС]
Тогда эффект к диву не применяется вовсе...

Добавлено через 1 час 24 минуты
Пытаюсь сделать так, но не выходит

Java
1
2
3
4
5
6
7
8
9
//Часть кода из поста выше
//Действие по нажатию кнопки
$(".slide-button").click(function(){
if($(this).attr("id") == "close-button")
    $(divContent).slideDown();
        else
    $(divContent).toggleClass("active");
    $(".slide-button").toggle();
});
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
23.04.2014, 22:47
TwoFaceMan, во-первых, на мой личный взгляд, вам рановато еще задумываться об избыточности кода, сокращая его за счет того, что вы не используете фигурные скобки.
JavaScript
1
2
3
4
5
if( ... ) {
 
} else {
 
}
Во-вторых, закиньте пример в песочницу и посмотрим, как его можно вылечить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.04.2014, 22:47
Помогаю со студенческими работами здесь

Всплывающая панель + слайд-шоу
Здравствуйте уважаемые профессионалы! :) Решил я освоить великий Flash, но не много не получается... Значит у меня есть не...

Отображение размера файла в kB, MB или GB в зависимости от величины его размера в байтах
добрый вечер! У меня есть значение размера файлов в байтах. Подскажите, как отобразить размера файлов в KB MB GB? Интересует два...

Подгон размера виджетов в зависимости от размера окна
Добрый день. Возникла необходимость изменять размеры виджетов при изменении размеров окна, поместил все виджеты по слоям, запустил -...

Scroll: Небольшой слайд, слайд необычный, снизу-вверх, но срабатывает только 1 раз?
сразу jsfiddle предлагаю посмотреть: http://jsfiddle.net/Stasonix/VHC3c/5/ проблема в том что слайд происходит только 1 раз, что-то...

Ширина input в зависимости от содержимого
Можно ли сделать чтоб ширина(width) input автоматически подстраивалась под длину строки от в среднем это будет 10 - 50 симвлов. Да можно...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru