2013-03-07 4 views
1

У меня есть скрипт, который вращается между массивом предварительно загруженных изображений с заданным интервалом для изменения фонового изображения. Я использую переходы (transition: background-image 2s ease), чтобы сделать кроссфейд вращения, но в настоящее время он поддерживается только в Chrome.jQuery fallback для перехода к фоновому изображению

Я могу изменить сценарий с помощью jQuery, чтобы оживить элемент, чтобы исчезнуть, изменить исходный код и затем снова угасать, но включение этого сценария переопределяет поведение Chrome. Как вопрос стороны/альтернативы, можно ли эмулировать кроссфейдинг с помощью jQuery?

Как разрешить Chrome использовать переход CSS и заставить все другие браузеры использовать анимацию jQuery?

Я использую Modernizr, но я не думаю, что функция обнаружения будет работать, как и большинство других современных браузеров получить csstransitions класс, даже если они не поддерживают определенные конкретные переходы, как background-image, но я был бы рад, если бы кто-то мог докажи, что я неправ.

+0

U может использовать объект навигатора найти, если клиент хром браузер объявления поместить свой код при условии. – ravisoni

ответ

1

U может использовать объект навигатора, чтобы узнать, является ли клиент Chrome браузером, чтобы ваш код находился под условием.

$.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase()); 
if($.browser.chrome){ 
/*code for chrome browser*/ 

} 
else{ 
/*code for other browser*/ 
} 

надеюсь, что это поможет

+0

Мне нравится этот подход. Первая строка использует регулярное выражение, если вы задаетесь вопросом о сильном синтаксисе. https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions –

+0

Я не уверен, насколько это элегантно, но я использовал ваш код в качестве фреймворка и вместо этого добавил проверку PHP в нижней части мой файл index.php, как описано в этом вопросе: http://stackoverflow.com/questions/3047894/how-to-detect-google-chrome-as-the-user-agent-using-php Затем я добавил в функции проверить эту глобальную переменную (isChrome) и соответствующим образом выполнить соответствующий код. – Bobe

+0

@Bobe great bobe сохранить ypur хорошую работу :-) – ravisoni