Javascript.RU

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

JQuery два действия к одному элементу
Назначаю событие OnClick для элемента "#msgFlash", и в следующей строке задаю его скрытие с задержкой.

$('#msgFlash').click(function() {$('#msgFlash').fadeOut()});
$('#msgFlash').delay(30000).fadeOut();


Проблема в том что что-то одно работает отлично, но вместе эти строки работать не хотят. Как решить данную проблему?
Ответить с цитированием
  #2 (permalink)  
Старый 02.04.2015, 22:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

koctul,
а вместе то как они должны работать?
Ответить с цитированием
  #3 (permalink)  
Старый 02.04.2015, 22:36
Новичок на форуме
Отправить личное сообщение для koctul Посмотреть профиль Найти все сообщения от koctul
 
Регистрация: 23.03.2015
Сообщений: 6

Сообщение от рони Посмотреть сообщение
koctul,
а вместе то как они должны работать?
Ну мне нужно назначить обработчик событий "onclick" для сообщения в случае если на нем кликнут - оно должно спрятаться. И также если не кликнут тогда нужно его спрятать через определенное время автоматически.
Ответить с цитированием
  #4 (permalink)  
Старый 02.04.2015, 22:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

koctul,
delay убрать -- поставить таймер -- в первой строке в функции таймер обнулять перед скрытием - понятно?
Ответить с цитированием
  #5 (permalink)  
Старый 02.04.2015, 22:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

koctul,
var $msg = $('#msgFlash'), out = function() {$msg.fadeOut()},
timer = window.setTimeout(out, 30000);
$msg.click(function() {
   window.clearTimeout(timer); out()
});
Ответить с цитированием
  #6 (permalink)  
Старый 02.04.2015, 22:53
Новичок на форуме
Отправить личное сообщение для koctul Посмотреть профиль Найти все сообщения от koctul
 
Регистрация: 23.03.2015
Сообщений: 6

Сообщение от рони Посмотреть сообщение
koctul,
delay убрать -- поставить таймер -- в первой строке в функции таймер обнулять перед скрытием - понятно?
К сожалению непонятно насчет таймера. Как его в JavaScript реализовать?
Ответить с цитированием
  #7 (permalink)  
Старый 05.04.2015, 14:41
Аспирант
Отправить личное сообщение для Chiz Посмотреть профиль Найти все сообщения от Chiz
 
Регистрация: 18.04.2012
Сообщений: 43

koctul, попробуйте $('#msgFlash').click(function() {$(this).fadeOut()}).delay(30000).fadeOut();
Ответить с цитированием
  #8 (permalink)  
Старый 05.04.2015, 14:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Chiz,
и как ваш код сделает это
Сообщение от koctul
если не кликнут тогда нужно его спрятать через определенное время автоматически.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Два вопроса по animate() jQuery Neznayka Общие вопросы Javascript 11 15.05.2013 01:59
[Работа] Два модальных окна на JQuery VictorM Работа 3 14.08.2012 23:09
не работают два jquery скрипта вместе SunYang Общие вопросы Javascript 1 03.09.2011 21:13
Два вопроса по jQuery logon71 jQuery 4 27.07.2011 16:28
Jquery Два условия hangover Общие вопросы Javascript 0 14.12.2009 20:32