- jQuery: Показать-скрыть элемент, развернуть-свернуть под кат
- Свернуть или развернуть div в JavaScript
- Как на jQuery свернуть развернуть div?
- Сворачивание и разворачивание блока на javascript
- js код сворачивания/разворачивания блока
- Использование функции:
- Свернуть и развернуть блок по клику на jQuery
- ZorNet.Ru — сайт для вебмастера
- Снижение посещаемости веб-сайта
- Обновление алгоритма поисковой системы
jQuery: Показать-скрыть элемент, развернуть-свернуть под кат
Задача. На сайте есть блок с плиткой тегов, который имеет на разных страницах различное количество элементов. Когда этих элементов много и они не помещаются в одну строку, нужно под блоком добавить кнопу «развернуть-свернуть» — Пример 1.
jQuery— набор функций JavaScript, фокусирующийся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный API для работы с AJAX. Разработка jQuery ведётся командой добровольцев на пожертвования.
HTML был одной из первых вещей, которую Джон Резиг освоил, когда он только начал заниматься программированием. Резиг программировал на QBasic, когда один его знакомый показал ему, как создать веб-страницу (используя Angelfire), а также основы HTML. Отец подарил ему на Рождество две книги по HTML. Именно тогда, когда он только начал программировать на Visual Basic, HTML и веб-дизайн очень заинтересовали его.
Решение 1. Для решения проблемы можно использовать Код №1. Данным скриптом можно развернуть-свернуть текст, блок или любой элемент из HTML, который можно как-то выбрать. Можно скрыть-показать блок полностью, если задать closeHeight = ‘0’ . Если нужно чтобы кнопка «Развернуть» была всегда, то можно вынести содержимое из конструкции if()<> , а само условие удалить.
Свернуть или развернуть div в JavaScript
jQuery — это легкая и очень быстрая библиотека javascript. Это упрощает использование JavaScript.
Тег div — это тег деления. Он используется для определения раздела в документе HTML. Он также действует как контейнер для других элементов HTML.
В этом руководстве мы свернем или развернем div с помощью jQuery .
Посмотрите пример, приведенный ниже.
fieldset class="click" > legend class="buttonMain" style="cursor: pointer">Expandlegend> div class="content" style="display:none"> p>Lorem ipsum. p> div>
Приведенный выше HTML-код содержит некоторые элементы, включая тег div . Мы манипулируем div с помощью jQuery , чтобы сделать его сворачиваемым.
В jQuery методы show() и hide() используются для отображения или скрытия любого элемента в HTML.
Мы можем использовать эти функции, чтобы свернуть или развернуть тег div , как показано ниже.
$('.buttonMain').click(function() if($(this).text()=='Expand') $('.content').show(); $(this).text('Collapse'); > else $('.content').hide(); $(this).text('Expand'); > >);
Мы также можем указать скорость скрытия и отображения элементов с помощью параметра speed в этих функциях. Мы можем определить его значение как slow , fast или скорость в миллисекундах.
Copyright © 2023. All right reserved
Как на jQuery свернуть развернуть div?
я использую простой скрипт для сворачивания и разворачивания блоков div в нутри родителя но не как не могу сообразить что нужно сделать чтоб по клику он сначала сворачивал предыдущий блок а потом открывал новый.
Простой 2 комментария
Основные сведения
Основные сведения
// $(document).ready(callback) запустит функцию callback когда весь документ загрузится $(document).ready(function() < // сразу при загрузке страницы нам нужно всё свернуть $(".slideT") // выбирает все slideT .hide(); // и скрывает их // и повесить обработчики событий которые в дальнейшем // будут делать всю работу по сворачиванию и разворачиванию $(".pointer") // выбирает все pointer .click(function () < // вешает обработчики события «клик» // эта функция запустится при клике на любой pointer // this в этой функции указывает на элемент по которому кликнули // тут мы развернём блок по которому кликнули $(this) // выбирает элемент по которому кликнули .children(".slideT") // находит его ребёнка с классом slideT .slideToggle("slow"); // запускает его медленное «переключение»* // *slideToggle - это переключение состояния свёрнуто или развёрнуто, // если элемент уже свёрнут, то развернёт. Или наоборот // а тут мы свернём все блоки, кроме того по которому кликнули $(this) // выбирает элемент по которому кликнули .siblings() // выбирает всех его соседей, кроме него самого .children(".slideT") // находит их детей с классом slideT .slideUp("slow"); // запускает их медленное сворачивание // если элементы уже свёрнуты, то slideUp ничего не сделает >); >)
Всю документацию по всяким штукам вроде slideToggle можно найти на сайте https://api.jquery.com/
Или на русском языке на вики-сайте jquery.page2page.ru
Поочередное разворачивание и сворачивание элементов
да огромное спасибо.
я в прошлый раз допустил ошибку
Заголовок здесь будет текст Заголовок суть в то что pointer-box это родительский блок и если кликнуть случайно внутри него по любому месту он закроется а это не удобно если внутри блока много текста я решил ввести событие по клику по блок pointer
но тогда получается что блок pointer-text уже не является дочерним он следующий или предыдущий. с раскрытием и закрытием проблем не вознилом я просто .childrenпоменял на .prev . а вот как свернуть все не активные блоки опять не получается пробывал поменять на .prev не получилось
Заголовок здесь будет текст Заголовок karpos, не пользуйтесь чужим кодом бездумно, посмотрите что он делает.
Структура и органы управления образовательной организацией Документы Образование Образовательные стандарты
Что делает $(this).siblings() ? Он выбирает соседей кликнутого блока. В этом html:
this — это .pointer
Документы Образование Образовательные стандарты Так мы выбрали все блоки для сворачивания, то что нужно.
Но теперь HTML новый, что сделает всё тот же $(this).siblings() ? Он выбирает соседей кликнутого блока. В этом html:
Заголовок здесь будет текст Заголовок Очевидно, мы пошли куда-то не туда, ведь нам нужно было добраться до соседних .pointer-box
Совет:
Вы можете пользоваться console.log() для того чтобы понять как работает ваш код. Например:
console.log($(this)); console.log($(this).siblings()); console.log($(this).siblings().children(".pointer-text"));
— этот код покажет в консоли браузера коллекции элементов на каждом этапе. Так вы смогли бы сами сразу понять где ошиблись или куда идти дальше.
Чтобы их достичь, нужно сначала из this === .pointer добраться до .pointer-box
Это можно сделать с помощью метода parent() — http://jquery.page2page.ru/index.php5/Поиск_элемен.
Новый код $(this).parent().siblings()
this — это .pointer
Для него находим родителя
. блок1. Для него находим соседей, у него только один сосед
. блок2. Ну и .children(«.pointer-text») выберет в этих блоках именно то что нужно сверуть.
$(this) .parent() .siblings() .children(".pointer-text") .slideUp("show") .prev(".pointer").toggleClass("pointer-active");
Но я бы переписал, чтобы не использовать метод prev():
var pointerBoxSiblings = $(this).parent().siblings(); pointerBoxSiblings .children(".pointer") .toggleClass("pointer-active"); pointerBoxSiblings .children(".pointer-text") .slideUp("show");
Ну и вторую чать кода можно попроще сделать, без блужданий вперёд и назад:
$(this) .toggleClass("pointer-active") .next(".pointer-text") .slideToggle("show");
Сворачивание и разворачивание блока на javascript
Передо мной стояла задача написать плавное сворачивание и разворачивание блока на javascript, без использования библиотек jqery и ей подобных. Но эффект должен быть подобен jquery toggle, то есть должно быть плавное сворачивание блока и разворачивание блока, как вконтакте.
Решением данной задачи является мною написанная javascript функция, которая не занимает более 1,3кб.
Ниже предоставлен код и пример использования функции сворачивания/разворачивания div блоков.
js код сворачивания/разворачивания блока
function toggle(id) < var e = document.getElementById(id); var dh = gh(id); var elems = e.getElementsByTagName('*'); if (e.style.display == "none") < for(var i=0; ie.style.height="1px"; e.style.display = "block"; for(var i=0;i<=100;i+=5) < (function() < var pos=i; setTimeout(function(),pos*5); > )(); > setTimeout(function()>,500); return true; > else < var lh=dh-1+"px"; for(var i=0; ifor (var i=100;i>=0;i-=5) < (function() < var pos=i; setTimeout(function() < e.style.height = (pos/100)*dh+"px"; if (pos<=0) < e.style.display = "none"; e.style.height=lh; >>,1000-(pos*5)); > )(); > return true; > return false; > function vhe(obj, vh) function gh(id) < var e = document.getElementById(id); if(e.style.display == "none") < e.style.visibility = "hidden"; e.style.display = "block"; dh = e.clientHeight||e.offsetHeight+5; // Высота e.style.display = "none"; e.style.visibility = "visible"; >else < dh = e.clientHeight||e.offsetHeight+5; // Высота >return dh; >
Как видите в примере предоставлено три функции: toggle — отвечает за сворот/разворот блока, а остальные вспомогательные, одна определяет высоту div блока, другая показывает или скрывает дочерние элементы нужного блока.
Использование функции:
Свернуть/Развернуть
Как видите все просто, по нужному событию посылаем у функцию id блока и наслаждаемся красивым сворачиванием и разворачиванием блока на javascript
Свернуть и развернуть блок по клику на jQuery
По умолчанию или при открытии страницы данная категория имеет значение высоты и скрывает все переполненные тексты, а когда вы нажмете на кнопку, то автоматически показывается скрытый текст, что изначально его не видим. Когда весь раздел развернется, текст для чтения будет заменен, где при повторном при щелчке по разделу, мы снова свернем или уменьшим, как изначально было. Также есть кнопка со стрелкой, которая меняется вверх и вниз в зависимости от положение по фиксации.
ZorNet.Ru — сайт для вебмастера
В консоли поиска Google перейдите в Сканирование. Взгляните на графики, вы сможете определить резкие изменения.
Снижение посещаемости веб-сайта
Google не раскрывает точных сведений о своих алгоритмах, а также не раскрывает конкретных подробностей о каких-либо серьезных изменениях и развертываниях, которые он вносит.
Обновление алгоритма поисковой системы
Google, крупнейшая поисковая система, выпускает несколько обновлений своего алгоритма в течение года, как и другие поисковые системы. Когда происходит крупное обновление, оно может сильно ударить по веб-сайтам.
p <
margin: 0 0 1.5em;
>
.container <
max-width: 400px;
margin: 0 auto;
>
.entry <
position: relative;
overflow: hidden;
margin: 30px 0;
padding: 20px 20px 4em 20px;
background: #FFF;
font-family: «Open Sans», sans-serif;
box-shadow: 0 0 15px #999;
>
.entry-title,
.entry-title a <
margin-top: 0;
font-family: Oswald, sans-serif;
color: #333;
text-decoration: none;
>
.entry-title a:hover <
color: #ff0047;
>
.more-link <
position: absolute;
left: 0;
bottom: 0;
display: block;
width: 100%;
padding: 8px;
background: #ff0047;
color: #FFF;
text-align: center;
text-transform: uppercase;
text-decoration: none;
font-weight: bold;
box-shadow: 0 0 10px #000;
>
.more-link:hover <
background: #e60023;
>
.more-link:after <
content: «\2193»;
margin-left: 8px;
font-size: .8em;
>
.more-link.open:after <
content: «\2191»;
>
$(document).ready(function() <
var closeHeight = ’10em’;
var moreText = ‘Read More’;
var lessText = ‘Read Less’;
var duration = ‘1000’;
var easing = ‘linear’;
$(‘.page-template-page_blog-php #content .entry, .container #content .entry’).each(function()
var current = $(this).children(‘.entry-content’);
current.data(‘fullHeight’, current.height()).css(‘height’, closeHeight);
var openSlider = function() <
link = $(this);
var openHeight = link.prev(‘.entry-content’).data(‘fullHeight’) + ‘px’;
link.prev(‘.entry-content’).animate(, , easing);
link.text(lessText).addClass(‘open’).removeClass(‘closed’);
link.unbind(‘click’, openSlider);
link.bind(‘click’, closeSlider);
>
var closeSlider = function() <
link = $(this);
link.prev(‘.entry-content’).animate(, , easing);
link.text(moreText).addClass(‘closed’).removeClass(‘open’);
link.unbind(‘click’);
link.bind(‘click’, openSlider);
>
Также здесь присутствуют знаки, виде стрелок, которые автоматически показывают, это открытие блока и закрытие, что аналоги поворачиваются в след за действием.