/ / Вимкнути рядок jquery у файлі .js, коли на мобільному пристрої, АЛЕ використовувати лише коли Mac / IPAD? - jquery, jquery-ui, jquery-плагіни, jquery-mobile, випадаюче меню

Вимкніть рядок jquery у файлі .js, коли на мобільному пристрої, чи використовуйте лише коли Mac / IPAD? - jquery, jquery-ui, jquery-plugins, jquery-mobile, випадаюче меню

jQuery(document).ready(function(){
/* for top navigation */

jQuery("#menu ul, #menu li").css("-webkit-transform", "translateZ(0)");
jQuery(" #menu ul ").css({display: "none"}); // Opera Fix
jQuery(" #menu li").hover(function(){
jQuery(this).find("ul:first").css({visibility: "visible",display: "none"}).slideDown(400);
},function(){
jQuery(this).find("ul:first").css({visibility: "hidden"});
});

jQuery(" #menu2 ul ").css({display: "none"}); // Opera Fix
jQuery(" #menu2 li").hover(function(){
jQuery(this).find("ul:first").css({visibility: "visible",display: "none"}).slideDown(400);
},function(){
jQuery(this).find("ul:first").css({visibility: "hidden"});
});
});

Цей код знаходиться зі спадного меню.js і призначений для мого навігаційного меню на сайті www.yorkshirephotographer.net Мені довелося додати верхній рядок коду - перетворення webkit через те, що меню не працює належним чином на Mac "s та IPAD" s. Детальніше про це і чому я додав тут цей рядок коду -

Спадне меню JavaScript - частини зникають на Mac?

Але зараз меню не працює на мобільних пристроях. Коли ви натискаєте, щоб натиснути, на секунду з'являється вікно, але під текстом головного меню, як-от натискання під посиланням, в результаті чого посилання не активується - тому в основному панель меню не працює на мобільних телефонах.

Я перевірив без цього рядка коду, і він знову працює, але він не працює на Mac .... тому потрібно вимикати його на мобільних пристроях або читати лише тоді, коли його Mac / Apple OS .....

Будь ласка, допоможіть Дякую

Відповіді:

1 для відповіді № 1

Ви можете спробувати це:

jQuery(document).ready(function(){

// If Mac, or iPad, apply the following...
if(navigator.userAgent.match(/(Mac|iPad)/i)) {

jQuery("#menu ul, #menu li").css("-webkit-transform", "translateZ(0)");
jQuery(" #menu ul ").css({display: "none"}); // Opera Fix
jQuery(" #menu li").hover(function(){
jQuery(this).find("ul:first").css({visibility: "visible",display: "none"}).slideDown(400);
},function(){
jQuery(this).find("ul:first").css({visibility: "hidden"});
});

jQuery(" #menu2 ul ").css({display: "none"}); // Opera Fix
jQuery(" #menu2 li").hover(function(){
jQuery(this).find("ul:first").css({visibility: "visible",display: "none"}).slideDown(400);
},function(){
jQuery(this).find("ul:first").css({visibility: "hidden"});
});

} // End of Mac, iPad additional fixes ----

});

PS: Якщо ви хочете включити додаткові виправлення для iPhone та iPod, ви можете їх замінити if(navigator.userAgent.match(/(Mac|iPad)/i)) з if(navigator.userAgent.match(/(Mac|iPhone|iPod|iPad)/i))

Сподіваюся, це допомагає, дайте мені знати про ваш товариш по результатам.


1 для відповіді № 2

Ви повинні мати змогу отримати ОС від навігатор властивість платформи об'єкта.

<script type="text/javascript">
jQuery(document).ready(function(){
// Mac OS detection
if (/Mac[/s](d+.d+)/.test(navigator.platform)) {
/* for top navigation */
jQuery("#menu ul, #menu li").css("-webkit-transform", "translateZ(0)");
jQuery(" #menu li").hover( function() {
jQuery(this).find("ul:first").css({visibility: "visible",display: "none"}).slideDown(400); },
function() {
jQuery(this).find("ul:first").css({visibility: "hidden"});
});

jQuery(" #menu2 li").hover( function() {
jQuery(this).find("ul:first").css({visibility: "visible",display: "none"}).slideDown(400); },
function() {
jQuery(this).find("ul:first").css({visibility: "hidden"});
});
// Opera Fix
if (/Opera[/s](d+.d+)/.test(navigator.userAgent)){
jQuery(" #menu ul ").css({display: "none"});
jQuery(" #menu2 ul ").css({display: "none"});
}
}
});
</script>

Або ви можете використовувати великий JavaScript session.js бібліотека;)
Що повертає вам значення os браузера, а також якщо пристрій планшетний, телефон або мобільний.

EDIT: додати код, готовий до використання та видалення посилань на w3c