Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Изменение Javascript под нужную версию браузера. (https://javascript.ru/forum/css-html/54255-izmenenie-javascript-pod-nuzhnuyu-versiyu-brauzera.html)

apocalipsis_now 10.03.2015 23:43

Изменение Javascript под нужную версию браузера.
 
Есть такая проблема.
Используется параметр css, который корректно понимает только Crome.
Возможно сделать, чтобы страница определяли браузер посетителя и меняла Javascript под другие браузеры или открывала другую страницу для всех браузеров, кроме Crome?

danik.js 11.03.2015 06:54

Цитата:

Сообщение от apocalipsis_now
Используется параметр css, который корректно понимает только Crome.

Ну и что? А причем тут javascript?

apocalipsis_now 11.03.2015 08:16

В Javascript используется addClass, который в сочетании и css делает красивый переход, но это работает только на хроме, для других браузеров хотелось бы использовать другой скрипт.

danik.js 11.03.2015 08:42

Цитата:

Сообщение от apocalipsis_now
но это работает только на хроме

addClass работает не только в хроме. А что за переход и почему работает только в хроме? И зачем городить отдельную страницу для других браузеров? Может тогда отдельный сайт запилить? И вообще, отдельный интернет для них создать? Разве не лучше будет?

apocalipsis_now 11.03.2015 11:34

transition: all 1s ease-in-out;

В хроме плавная смена фона, в остальных браузерах нет

danik.js 11.03.2015 12:01

CSS3 Не предусматривает применение transition к background-image. Это уже инициатива хрома.
Плавную смену можно сделать так:

<style>
.example{
    height: 100px;
    position: relative;
}
.example:before,
.example:after{
    display: block;
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: opacity 1s ease-in-out;
}

.example:before{
    background: url(http://javascript.ru/forum/images/smilies/smile.gif);
}
.example:after{
    background: url(http://javascript.ru/forum/images/smilies/laugh.gif);
    opacity: 0;
}

.example:hover:before{
    opacity: 0;
}
.example:hover:after{
    opacity: 1;
}
</style>
<div class="example"></div>


Вместо псевдоэлементов (transition на них не работает в старых браузерах) можно использовать элементы. В любом случае, работать должно во всех браузерах, включая хром, так что смысла городить отдельные страницы и определять браузер вообще нет.

apocalipsis_now 11.03.2015 12:56

danik.js,
У меня пять разных картинок фона отдельного див, которые меняются при наведении на пункты меню. Для этого и нужен javascript с addClass. Там есть решение, но оно не такое красивое, как через transition.


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