Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы » Можно ли привязать к каждому элементу на веб странице свой таймер?

Можно ли привязать к каждому элементу на веб странице свой таймер?


     Общие вопросы, jQuery    2449

вопрос
Хочу разработать свою систему всплывающих подсказок. Всё сделал, открытие, закрытие, но только не могу догадаться, как можно к каждой всплывающей подсказке привязать свой таймер, чтоб по истечении например 5 секунд подсказка сама закрывалась, и если на нее наведешь курсор, то таймер сбросится. Вот код создания подсказки:


  add: function(params){
    var title = params.title ? params.title : '';
    var text = params.text ? params.text : '';
    
    var tpl = "<div class='growl'><div class='content'><div class='title'>"+title+"</div><div class='text'>"+text+"</div></div></div>";
    
    $("#growl_area").prepend(tpl);

    $('#growl_area .growl:hidden').animate({
      opacity:'show',
      height:'show',
    },300,function(){

     //Подсказка создана
      
    });

  }


Поднакиньте пожалуйста вариантов, а то уже голову всю сломал, никак не могу догадаться :) У меня получалось сделать такое только для одной подсказки, так как я знал её ID и ставил таймер сразу же после подключения.

Ответа пока нет


16 комментариев

FastFud
Юзер

FastFud - -

$('#growl_area .growl:hidden').animate({
        opacity:'show',
        height:'show'
    }, 300, function(){ //Подсказка создана
        if (!$('#growl_area .growl:hover')) {
            setTimeout(function (){
                $('#growl_area .growl').fadeOut();
            }, 5000);
        }
});

vk_159926832
Юзер

vk_159926832 - -

Сделал немного по другому, принцип вроде такой-же, но закрывается только последнее уведомление


  add: function(params){
    var title = params.title ? params.title : '';
    var text = params.text ? params.text : '';
    
    var tpl = "<div class='growl'><div class='content'><div class='title'>"+title+"</div><div class='text'>"+text+"</div></div></div>";
    
    $("#growl_area").prepend(tpl);

    $('#growl_area .growl:hidden').animate({
      opacity:'show',
      height:'show',
    },300,function(){

            $elm = $(this);

            setTimeout(function (){
             $growl.close($elm);
            }, 5000);
      
    });

}

Подскажите что может еще быть?

vk_159926832
Юзер

vk_159926832 - -

Помогите ктонибудь пожалуйста!

FastFud
Юзер

FastFud - -

Дайте полный код и с примером, как работает.

FastFud
Юзер

vk_159926832
Юзер

vk_159926832 - -

у вас там нет скрипта

vk_159926832
Юзер

vk_159926832 - -

помогите пожалуйста

FastFud
Юзер

FastFud - -

у вас там нет скрипта
Прошу прощения, наверное моя вина) Вот другой пример

vk_159926832
Юзер

vk_159926832 - -

ничего страшного) спасибо вам) а не подскажите как можно сделать, чтоб при наведении на подсказку она не убиралась и таймер её обнулялся?

FastFud
Юзер

FastFud - -

Попробуйте, через mouseover или hover.

vk_159926832
Юзер

vk_159926832 - -

Так а как мне узнать какой таймер обнулять?

FastFud
Юзер

vk_159926832
Юзер

vk_159926832 - -

Так у вас таймер один и привязан к квадрату. А там же у меня много будет элементов.

FastFud
Юзер

FastFud - -

Используйте лучше другие, готовы плагины, и не тратьте время на создание новых.

vk_159926832
Юзер

vk_159926832 - -

Просто, видите, хочется создать свой проект, с нуля. Чтоб набраться знаний и опыта. Делаю для себя, чтоб было удобно мне его интегрировать, чтоб он был для меня гибкий и многофункциональный, без лишнего. А в плагинах много лишнего бывает, и бывает некоторые интегрируются муторно. А какие плагины таких подсказок вы посоветуете?

Похожие вопросы

наверх