- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте ! В общем, ситуация такая, есть вертикальные блоки вида:
БЛОК 1 (высота 200px)
БЛОК 2 (высота 200px)
БЛОК 3 (высота 200px)
БЛОК 4 (высота 200px)
БЛОК 5 (высота 200px) и т.д.
Нужен скрипт, который по умолчанию будет показывать только высоту 400px (т.е. 2 первых блока, остальные в hidden'е) и при нажатии на кнопку к примеру "+", добавлялся еще один блок (т.е. высота добавлялась +200px c каждым нажатием кнопки), т.е. нажал +, увидел 3й блок с hidden'a, нажал еще раз +, увидел плюс 4й блок и так далее...
Заранее спасибо, искал, ничего похожего не нашёл... в javscript собственными силами не силен в написании...
https://jsfiddle.net/gczdwqn6/
Ужасно....
SocFishing, огромное спасибо !!!
Поскольку такой код является классикой жанра, а SocFishing проигнорировал мою реплику, позволю себе немного переписать это решение
Правда, querySelectorAll не работает на старом IE, но может быть, это уже и не так важно. Или тогда уже другие функции использовать. Или для таких случаев показывать весь контент сразу. В общем, вариантов чуть больше, чем дофига.Sitealert, большое спасибо ! Скажите, а можно ли как-то скрыть кнопку "Показать" если развёрнутые все блоки ?)
Мне так было проще накидать :)
По скрытию.
https://jsfiddle.net/33bgm69q/
В принципе, я сделал так, чтобы она просто не работала. но если надо совсем скрыть, то просто убрать дополнительный элемент.
---------- Добавлено 18.02.2017 в 11:26 ----------
SocFishing, да не используйте Вы кнопку для показа PHP! На этом форуме квадратные скобки уродуются.
---------- Добавлено 18.02.2017 в 11:28 ----------
Мне так было проще накидать :)
Огромное спасибо Вам обоим за помощь ! Вы мне очень сильно помогли !)
Прошу прощения за наглость, а можно ли добавить ещё кнопку "Удалить" чтобы работала по обратному принципу ?)
Наверно так:
<div class="block" style="height:200px;">Block 2</div>
<div class="block" style="height:200px;display: none;">Block 3</div>
<div class="block" style="height:200px;display: none;">Block 4</div>
<a id="link" href="javascript:showblock();">Показать</a>
<a id="link" href="javascript:hideblock();">Удалить</a>
<script>
var blki=2;
var elements = document.querySelectorAll('.block');
function showblock() {
elements[blki].style.display = 'block';
blki++;
if(blki == elements.length){
document.getElementById('link').style.display = 'none';
}
}
function hideblock() {
blki--;
elements[blki].style.display = 'none';
}
</script>