Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.05.2021, 14:51
Аспирант
Отправить личное сообщение для maxim1978 Посмотреть профиль Найти все сообщения от maxim1978
 
Регистрация: 07.05.2019
Сообщений: 40

Как показать текст после того как его скрыли?
Как показать текст который скрыт ?

Я текст обрезал и в конце приплюсовал три точки после чего вставил span с текстом Показать весь и при клике на этом span должен показаться весь текст и именно вот это у меня не получилось .

Как такое делается ?

Моя провальная попытка: https://codepen.io/topicstarter/pen/rNyYmqP
Ответить с цитированием
  #2 (permalink)  
Старый 30.05.2021, 15:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

обрезать текст
maxim1978,

<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .item {
            width: 380px;
        }
        p span {
            color: blue;
            text-decoration: underline;
            cursor: pointer;
        }
        p span:hover {
            color: darkblue;
        }
    </style>
</head>
<body>
    <div class="item">
        <p class="description">
            Lorem ipsum dolor, sit amet consectetur adipisicing elit. Necessitatibus molestias harum repellat ea dolorum repudiandae iste dolor quam hic voluptate modi saepe perferendis iusto adipisci nisi earum excepturi quasi ullam odit ad, ipsam dolore eius molestiae est. Optio, ipsa porro. Cupiditate possimus saepe, explicabo veniam unde neque eos molestiae iusto sit hic amet distinctio ducimus quod, non quae assumenda dolorem officia. Error facere ipsum nemo voluptatem? Tempore distinctio excepturi eum, itaque sunt labore. Assumenda repellendus, iste magni saepe rem ea in perspiciatis expedita, necessitatibus commodi tenetur odio maxime. Temporibus earum, quaerat rerum qui corporis quo officiis quidem ratione et velit? Lorem ipsum dolor sit amet consectetur adipisicing elit. Dicta, quae molestiae. Iste minus veritatis earum omnis nam! Est asperiores distinctio dolore sint maxime ducimus rerum porro placeat ea, atque cum officiis alias architecto enim quas consequuntur non ut recusandae cupiditate. Numquam esse fugit illum eveniet ab deleniti iusto debitis eligendi alias quia a, necessitatibus itaque fugiat sunt eum. Corrupti eveniet ducimus voluptates tempora rerum ratione aliquid unde blanditiis distinctio cum ipsum recusandae placeat aut, consectetur temporibus modi exercitationem vero, repellendus perspiciatis adipisci reprehenderit officiis cupiditate explicabo. Saepe, et omnis obcaecati labore laboriosam voluptatem rerum cum eveniet iusto accusantium laborum facere?
        </p>
    </div>
    <script>
        document.querySelectorAll(".item p").forEach(function(el) {
            el.dataset.html = el.innerHTML
            el.innerHTML = el.innerHTML
                .split("", 240)
                .join("")
                .toLowerCase()
                .padEnd(245, ".");
            el.insertAdjacentHTML("beforeend", "<span>Показать весь</span>");
        });
        document.addEventListener("click", function({ target }) {
            let p = target.closest("p.description"), html;
            if (p && (html = p.dataset.html)) p.innerHTML = html;
        });
    </script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 30.05.2021, 15:25
Аспирант
Отправить личное сообщение для maxim1978 Посмотреть профиль Найти все сообщения от maxim1978
 
Регистрация: 07.05.2019
Сообщений: 40

Сообщение от рони Посмотреть сообщение
maxim1978,

<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .item {
            width: 380px;
        }
        p span {
            color: blue;
            text-decoration: underline;
            cursor: pointer;
        }
        p span:hover {
            color: darkblue;
        }
    </style>
</head>
<body>
    <div class="item">
        <p class="description">
            Lorem ipsum dolor, sit amet consectetur adipisicing elit. Necessitatibus molestias harum repellat ea dolorum repudiandae iste dolor quam hic voluptate modi saepe perferendis iusto adipisci nisi earum excepturi quasi ullam odit ad, ipsam dolore eius molestiae est. Optio, ipsa porro. Cupiditate possimus saepe, explicabo veniam unde neque eos molestiae iusto sit hic amet distinctio ducimus quod, non quae assumenda dolorem officia. Error facere ipsum nemo voluptatem? Tempore distinctio excepturi eum, itaque sunt labore. Assumenda repellendus, iste magni saepe rem ea in perspiciatis expedita, necessitatibus commodi tenetur odio maxime. Temporibus earum, quaerat rerum qui corporis quo officiis quidem ratione et velit? Lorem ipsum dolor sit amet consectetur adipisicing elit. Dicta, quae molestiae. Iste minus veritatis earum omnis nam! Est asperiores distinctio dolore sint maxime ducimus rerum porro placeat ea, atque cum officiis alias architecto enim quas consequuntur non ut recusandae cupiditate. Numquam esse fugit illum eveniet ab deleniti iusto debitis eligendi alias quia a, necessitatibus itaque fugiat sunt eum. Corrupti eveniet ducimus voluptates tempora rerum ratione aliquid unde blanditiis distinctio cum ipsum recusandae placeat aut, consectetur temporibus modi exercitationem vero, repellendus perspiciatis adipisci reprehenderit officiis cupiditate explicabo. Saepe, et omnis obcaecati labore laboriosam voluptatem rerum cum eveniet iusto accusantium laborum facere?
        </p>
    </div>
    <script>
        document.querySelectorAll(".item p").forEach(function(el) {
            el.dataset.html = el.innerHTML
            el.innerHTML = el.innerHTML
                .split("", 240)
                .join("")
                .toLowerCase()
                .padEnd(245, ".");
            el.insertAdjacentHTML("beforeend", "<span>Показать весь</span>");
        });
        document.addEventListener("click", function({ target }) {
            let p = target.closest("p.description"), html;
            if (p && (html = p.dataset.html)) p.innerHTML = html;
        });
    </script>
</body>
</html>
спасибо огромное ...
Ответить с цитированием
  #4 (permalink)  
Старый 30.05.2021, 15:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

показать текст css
maxim1978,
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .item {
            width: 380px;
        }
        p+span {
            border-radius: 4px;
            padding: 0.2em 0.6em;
            border: 1px solid #009ce2;
            background-color: #00acff;
            color: #fff;
            font-size: 0.8em;
            cursor: pointer;
        }
        p+span:hover {
            color: darkblue;
        }
        p.description.limit {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
            margin-bottom: 8px;
        }
        p.description+span {
            display: none;
        }
        p.description.limit+span {
            display: inline;
            float: right;
        }
    </style>
</head>
<body>
    <div class="item">
        <p class="description">
            Lorem ipsum dolor, sit amet consectetur adipisicing elit. Necessitatibus molestias harum repellat ea dolorum repudiandae iste dolor quam hic voluptate modi saepe perferendis iusto adipisci nisi earum excepturi quasi ullam odit ad, ipsam dolore eius molestiae est. Optio, ipsa porro. Cupiditate possimus saepe, explicabo veniam unde neque eos molestiae iusto sit hic amet distinctio ducimus quod, non quae assumenda dolorem officia. Error facere ipsum nemo voluptatem? Tempore distinctio excepturi eum, itaque sunt labore. Assumenda repellendus, iste magni saepe rem ea in perspiciatis expedita, necessitatibus commodi tenetur odio maxime. Temporibus earum, quaerat rerum qui corporis quo officiis quidem ratione et velit? Lorem ipsum dolor sit amet consectetur adipisicing elit. Dicta, quae molestiae. Iste minus veritatis earum omnis nam! Est asperiores distinctio dolore sint maxime ducimus rerum porro placeat ea, atque cum officiis alias architecto enim quas consequuntur non ut recusandae cupiditate. Numquam esse fugit illum eveniet ab deleniti iusto debitis eligendi alias quia a, necessitatibus itaque fugiat sunt eum. Corrupti eveniet ducimus voluptates tempora rerum ratione aliquid unde blanditiis distinctio cum ipsum recusandae placeat aut, consectetur temporibus modi exercitationem vero, repellendus perspiciatis adipisci reprehenderit officiis cupiditate explicabo. Saepe, et omnis obcaecati labore laboriosam voluptatem rerum cum eveniet iusto accusantium laborum facere?
        </p>
    </div>
    <script>
        document.querySelectorAll(".item p").forEach(function(el) {
            let { length } = el.innerHTML;
            if (length > 240) {
                el.insertAdjacentHTML("afterend", "<span class='open'>Показать весь текст</span>");
                el.classList.add("limit");
            }
        });
        document.addEventListener("click", function({ target }) {
            let span = target.closest("span.open");
            let p = span.previousElementSibling;
            if (p) p.classList.remove("limit");
        });
    </script>
</body>
</html>

Последний раз редактировалось рони, 30.05.2021 в 15:59.
Ответить с цитированием
  #5 (permalink)  
Старый 30.05.2021, 15:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

maxim1978,
не копируйте текст целиком, если в этом нет особой необходимости, есть цитирование.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как извлечь текст который появляется после нажатия кнопки? olta78 Общие вопросы Javascript 2 26.05.2017 14:43
Toggle эффект блока с кнопкой "Читать дальше". С меня "+" subbziro Общие вопросы Javascript 10 28.12.2016 01:43
Сворачивание строк таблицы eFusion jQuery 6 13.05.2014 15:08
DOM vs iframe. Как в ифрейме заменить выделенный текст (его innerHTML)? Бухалыч Events/DOM/Window 4 20.08.2009 14:30
Вопрос по относительному позиционированию DIV XPOMOB (X)HTML/CSS 11 15.07.2009 17:02