Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.05.2016, 22:30
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Показать или скрыть блок.
Вечер добрый.
<span class="mails">Показать E-Mail</span>
<span class="mail" style="display:none"></span>

$(document).ready(function() {
var email =text;

if($('.mail').css('display') == 'none'){
$('.mails').on('click',function(){
$('.mail').css('display','inline').text(email);
$('.mails').toggleClass('none')
})
}
if($('.mail').css('display') == 'inline'){
$('.mail').on('click',function(){
$('.mail').css('display','none');
$('.mails').toggleClass('none')
});
}
})

Первый click срабатавает.Один спан скрывается, другой с текстом появляется, но вот второй клик не работает.Почему?

Последний раз редактировалось ureech, 12.05.2016 в 22:33.
Ответить с цитированием
  #2 (permalink)  
Старый 12.05.2016, 22:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

ureech,
а не пробовали мыслить логично ... один клик,а в нём проверка состояния элемента на момент клика и принятие решения, в зависимости от этого состояния.
Ответить с цитированием
  #3 (permalink)  
Старый 12.05.2016, 22:42
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Все мысли в php на данный момент, а с ассинхронностью как то уже не важно.
Ответить с цитированием
  #4 (permalink)  
Старый 12.05.2016, 23:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

ureech,
Ответить с цитированием
  #5 (permalink)  
Старый 12.05.2016, 23:24
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Сообщение от рони
а не пробовали мыслить логично ... один клик,а в нём проверка состояния элемента на момент клика и принятие решения, в зависимости от этого состояния.
Как сделать один клик, если элементов два?
Ответить с цитированием
  #6 (permalink)  
Старый 12.05.2016, 23:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

ureech,
попробуйте описать алгоритм того что хотите получить в результате.
Ответить с цитированием
  #7 (permalink)  
Старый 12.05.2016, 23:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от ureech
но вот второй клик не работает.Почему?
потому что в строке 10 написано НЕ назначать клик!!!(или назначить только в случае 'inline')
Ответить с цитированием
  #8 (permalink)  
Старый 12.05.2016, 23:58
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Сообщение от рони
попробуйте описать алгоритм того что хотите получить в результате.
Имею
<span class="mails">Показать E-Mail</span>

видимым.Кликаю по нему и он изчезает и появляется
<span class="mail" ></span>
в который заносится вместо "Показать E-Mail" сам email,который содержится в переменной
var email

Затем всё в обратном порядке.
Ответить с цитированием
  #9 (permalink)  
Старый 13.05.2016, 00:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

ureech,
<!DOCTYPE html>

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

 </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
  <script>
 $(function(){
      var mail = $(".mails, .mail"), email = "text";
      mail.on("click", function() {
      mail.toggle().eq(1).text(email);
})
   })
  </script>
</head>

<body>

<span class="mails">Показать E-Mail</span>
<span class="mail"></span>


</body>
</html>
Ответить с цитированием
  #10 (permalink)  
Старый 13.05.2016, 00:38
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Вроде работает,спасибо.Только странно, что на локальном не хочет, ну да с этим уже завтра.Доброй ночи.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery Скрыть/Показать блок при наведении tot_kotoryi Ваши сайты и скрипты 1 08.02.2016 23:15
Скрыть div блок по событию перемещение курсора или клика ivnjavascript Events/DOM/Window 9 17.08.2015 17:07
Скрыть показать блок virtas Элементы интерфейса 4 28.07.2015 12:17
Как проверить сайт клиента на установленный блок Alexmad Серверные языки и технологии 10 02.04.2015 20:03
javascript обфускатор или как правильно скрыть код syegorius Общие вопросы Javascript 1 19.09.2012 02:58