Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.05.2016, 18:01
Интересующийся
Отправить личное сообщение для zahar_92 Посмотреть профиль Найти все сообщения от zahar_92
 
Регистрация: 13.05.2016
Сообщений: 18

Как скрыть часть текста, при клике на ссылку показать
Народ подскажите.. Как скрыть номер телефона, например в виде +7 XXX XXXXXXX , а при клике на ссылку Показать, номер отображается +7 999 1112223 Возможно ли это? Или подмену какую-нибудь сделать..
Ответить с цитированием
  #2 (permalink)  
Старый 15.05.2016, 18:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

zahar_92,
Скрыть/показать текст звездочками (*)
Ответить с цитированием
  #3 (permalink)  
Старый 15.05.2016, 19:26
Интересующийся
Отправить личное сообщение для zahar_92 Посмотреть профиль Найти все сообщения от zahar_92
 
Регистрация: 13.05.2016
Сообщений: 18

Спасибо, работает! Еще вопросик, что нужно добавить в эту конструкцию, чтобы при клике на ссылку не швыряло вверх страницы?
Ответить с цитированием
  #4 (permalink)  
Старый 15.05.2016, 19:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

zahar_92,
какой вариант вы взяли и html ваше?
Ответить с цитированием
  #5 (permalink)  
Старый 15.05.2016, 19:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

zahar_92,
обычно достаточно красное добавить
.click(function(event) { event.preventDefault();
Ответить с цитированием
  #6 (permalink)  
Старый 15.05.2016, 20:06
Интересующийся
Отправить личное сообщение для zahar_92 Посмотреть профиль Найти все сообщения от zahar_92
 
Регистрация: 13.05.2016
Сообщений: 18

<script>
  $.fn.textToggle = function(cls, str) {
    return this.each(function(i) {
        $(this).click(function() {
            var c = 0, el = $(cls).eq(i), arr = [str,el.text()];
            return function() {
                el.text(arr[c++ % arr.length]);
            }
        }());
 
    })
};
$(function(){
$('.click-tel').textToggle(".hide-tail","+7XXXXXXX").click()
});
</script>

<span class="hide-tail"><?= $v ?></span> //тут телефон
<a href="#" class="click-tel">показать телефон</a>

В принципе его работа меня устраивает. Не нравятся два момента: 1. при нажатии на ссылку швыряет вверх страницы и 2. при загрузке сайта, телефон сначала показывается на пару секунд, а потом скрывается.
И еще, мне нужно закрыть 2 номера на одной странице с классом hide-tail, а скрипт скрывает только один из них. Как сделать, чтобы скрывались оба телефона? Может присвоить разные классы?

Последний раз редактировалось zahar_92, 15.05.2016 в 20:20.
Ответить с цитированием
  #7 (permalink)  
Старый 15.05.2016, 20:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от zahar_92
а скрипт скрывает только один из них.
не понимаю
Ответить с цитированием
  #8 (permalink)  
Старый 15.05.2016, 21:16
Интересующийся
Отправить личное сообщение для zahar_92 Посмотреть профиль Найти все сообщения от zahar_92
 
Регистрация: 13.05.2016
Сообщений: 18

На странице 2 телефона с классом hide-tail, а скрипт скрывает один из них, а второй остается в обычном виде.

Кто-нибудь подскажите, пожалуйста, что нужно добавить в этот скрипт:
<script>
  $.fn.textToggle = function(cls, str) {
    return this.each(function(i) {
        $(this).click(function() {
            var c = 0, el = $(cls).eq(i), arr = [str,el.text()];
            return function() {
                el.text(arr[c++ % arr.length]);
            }
        }());
 
    })
};
$(function(){
$('.click-tel').textToggle(".hide-tail","+7XXXXXXX").click()
});
</script>

что бы не дергало страницу вверх при клике на ссылку и скрипт скрывал оба номера с общим классом

Последний раз редактировалось zahar_92, 15.05.2016 в 21:24.
Ответить с цитированием
  #9 (permalink)  
Старый 15.05.2016, 21:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

zahar_92,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .hide-tail{
    display: none;
  }

 </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

 <script>
 $.fn.textToggle = function(d, b, e) {
    return this.each(function(f, a) {
        a = $(a);
        var c = $(d).eq(f),
            g = [b, c.text()],
            h = [a.text(), e];
        c.text(b).show();
        $(a).click(function(b) {
            b.preventDefault();
            c.text(g.reverse()[0]);
            a.text(h.reverse()[0])
        })
    })
};
$(function(){
$('.click-tel').textToggle(".hide-tail","+7XXXXXXX","скрыть телефон")
});
</script>

</head>

<body>

<span class="hide-tail">+7 999 1112223</span> //тут телефон


<a href="#" class="click-tel">показать телефон</a> <br>

<span class="hide-tail">+7 999 1112223</span> //тут телефон


<a href="#" class="click-tel">показать телефон</a>
</body>
</html>
Ответить с цитированием
  #10 (permalink)  
Старый 15.05.2016, 21:51
Интересующийся
Отправить личное сообщение для zahar_92 Посмотреть профиль Найти все сообщения от zahar_92
 
Регистрация: 13.05.2016
Сообщений: 18

Благодарю за ответ! Вверх страницы теперь не кидает, но телефон все равно скрывает только один. Классы одинаковые, проверял. У меня один телефон вверху страницы, другой внизу. Если оставить один, например вверху, то он скрывается. Если оставить и вверху и внизу, то нижний скрывается а верхний нет..

И еще вопрос, можно ли после нажатия на ссылку показать номер сделать ее не кликабельной, чтобы при повторном нажатии не скрывала номер?

Последний раз редактировалось zahar_92, 15.05.2016 в 21:56.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике по datefield выделение текста demi ExtJS 1 19.10.2014 22:28
Как средствами Ajax при нажатии на кнопку (ссылку) открывать окно, в котором будет ин Sergo jQuery 3 13.03.2014 10:17
Вопрос по jquery. Как запретить один из скриптов при клике vuler Общие вопросы Javascript 1 07.03.2012 22:35
Переопределение поведения при клике на ссылку dyosick Events/DOM/Window 2 07.02.2012 19:56
Подскажите как убрать часть текста при нажатии на кномпу или гиперссылку. potkin Общие вопросы Javascript 6 10.10.2008 07:55