Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   плагин для создания эффекта затемнения всей страницы кроме выбранного элемента DOM (https://javascript.ru/forum/project/52722-plagin-dlya-sozdaniya-ehffekta-zatemneniya-vsejj-stranicy-krome-vybrannogo-ehlementa-dom.html)

рони 05.01.2015 06:31

Ruslan_xDD,
а проверить что поддерживается
http://snippetrepo.com/snippets/cros...css-transition
if('ontransitionend' in window) {
  // Firefox
  transition = 'transitionend';
} else if('onwebkittransitionend' in window) {
  // Chrome/Saf (+ Mobile Saf)/Android
  transition = 'webkitTransitionEnd';
} else if('onotransitionend' in myDiv || navigator.appName == 'Opera') {
  // Opera
  // As of Opera 10.61, there is no "onotransitionend" property added to DOM elements,
  // so it will always use the navigator.appName fallback
  transition = 'oTransitionEnd';
} else {
  // IE - not implemented (even in IE9) :(
  transition = false;
}

https://developer.mozilla.org/en-US/.../transitionend

ruslan_mart 05.01.2015 11:44

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

Safort 05.01.2015 14:21

Ruslan_xDD,
думаю вполне могут быть. Тут, скорее всего от браузера зависит.

ruslan_mart 05.01.2015 15:13

Safort, ясно, думаю тогда лучше setTimeout оставить.

Safort 05.01.2015 15:59

Ruslan_xDD,
но зачем, если можно сделать так, как показал рони в примере выше?

Octane 05.01.2015 18:27

http://blog.gospodarets.com/highligh...h_page_fading/

рони 05.01.2015 18:38

Octane,
:thanks:

ruslan_mart 05.01.2015 19:29

Цитата:

else if('onotransitionend' in myDiv || navigator.appName == 'Opera') {
// Opera
// As of Opera 10.61, there is no "onotransitionend" property added to DOM elements,
// so it will always use the navigator.appName fallback
transition = 'oTransitionEnd';
Немного странное условие. Т.е., если браузер опера, условие все-равно сработает, не зависимо от поддержки transition.


Часовой пояс GMT +3, время: 10:25.