Обновленные темы Популярные темы Активные пользователи
Traducción española de WickedWhims 155h 2 14.07.2020 в 07:27 от 2024end Обновление от 8 июля, 2020 / 1.64.84.1020 0 09.07.2020 в 08:07 от 2024end Переводы модов для Sims 4 14 04.07.2020 в 17:59 от 2024end Starbound (перевод модов) 0 02.07.2020 в 12:00 от 2024end Все моды от Kiara Sims (ALL MODS) 0 29.06.2020 в 20:48 от 2024end Heroes of Annihilated Empires скачать торрент 0 29.06.2020 в 13:36 от 2024end Мод Rise of Sols mod 3.5 (Альфа) 0 29.06.2020 в 13:25 от 2024end Heroes of Annihilated Empires 3D Patch 0 29.06.2020 в 13:20 от 2024end Пак карт для Heroes of Annihilated Empires (34) 0 29.06.2020 в 13:17 от 2024end HoAE - 3D инструменты для редактирования (c2mExport) 2 29.06.2020 в 11:02 от 2024end
2024end 3960
Zero 25

  • Страница 1 из 1
  • 1
Форум — Synthira.Ru » Web-Раздел » Всё для DataLife Engine » DLE хаки » yConfirm - подтверждение действий для DLE
yConfirm - подтверждение действий для DLE
Администраторы
Кол-во постов: 158
Репутация: 759
Регистрация: 28.07.2018
Статус: Не в сети
 Автор темы | Вторник, 06.08.2019, 02:24 | Сообщение # 1

Простое и удобное решение для подтверждения любого действия на сайте.

Полагаю всем хорошо известно подобное диалоговое окно подтверждения действия на jQueryUI используемое повсеместно в DLE.
Или же стандартный вызов окна confirm()



Оба эти метода обладают рядом определенных преимуществ, но так же и обладают определенными недостатками:
- Окно вылазит "где-то" и приходится делать лишнее движение мышкой. Что особенно напрягает, когда приходится делать 10-50 подтверждений.
- В разных браузерах окно выглядит по разному (касается стандартного confirm).

На замену им был написан скрипт, который выводит кнопку подтверждения непосредственно поверх нажатой кнопки.


Причем каждой кнопке можно прописать свой тайтл.

Код
$('.deleter').click(function(){
    $(this).yconfirm('Да, удалить', function(b){
  //тут ваше действие
  b.remove(); //к примеру удаляем саму кнопку.
    })
})

Пример 2, тут для каждой кнопки с общим обработчиком можно использовать свой текст подтверждения заданный через data-confirm="текст":

Код
$(document).on('click', '.do_stuff', function(e){
    e.preventDefault();
    $(this).yconfirm($(this).data('confirm')||'Подтверждаю', function(b){
  b.remove();
    })
})

jаvascript код:

Код
jQuery.fn.yconfirm = function(t,callback){
    var $parent = $(this);
    $('.yconfirm').remove();
    $('<a href="#" class="yconfirm">' + t + '</a>')
  .appendTo('body')
  .position({my:"center", at:"center", of:$parent})
  .fadeIn(150)
  .on('mouseleave', function(){
   $(this).fadeOut(200,function(){
    $(this).remove()
   })
  })
  .on('click', function(e){
   e.preventDefault();
   $(this).remove();
   callback($parent);
  })
}

CSS стили:

Код
.yconfirm{display:none;position:absolute;padding:0 17px;font:normal 13px/33px Arial;color:#fff;background:#ed344e;border-radius:3px;border:1px solid #dc1f39;text-decoration:none;text-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 2px 4px rgba(0,0,0,.2);}
.yconfirm:hover{text-decoration:none;}
Форум — Synthira.Ru » Web-Раздел » Всё для DataLife Engine » DLE хаки » yConfirm - подтверждение действий для DLE
  • Страница 1 из 1
  • 1
Поиск: