2012-02-13 2 views
1

У меня есть кнопка, которую я отключил с помощью jQuery в приложении для моего телефона. Href удален, но непрозрачность кнопки не работает, поэтому она выглядит как сломанная кнопка. Может ли кто-нибудь дать мне знать лучший способ пойти по этому пути или сделать лучший способ получить эту работу. Заранее спасибо!Непрозрачность CSS не работает в Phonegap

Вот мой код:

jQuery.each(rolesArray, function() { 
    if (this == "USER") { 
     $('#disable-button').css('opacity', '.5'); 
     $('#disable-button').removeAttr('href'); 
    } 

}); 

Вот HTML:

<div class="ui-block-b"> 
     <a href="#search" data-role="button" data-transition="flip" id="disable-button"><img src="images/logo.png" alt="Search" /></a> 
    </div> 

ответ

0

Я думаю, что это «IMG» тег, который вы хотите установить непрозрачность до 0,5, а не якорь.

jQuery.each(rolesArray, function() { 
    if (this == "USER") { 
     $('#disable-button').removeAttr('href').find('img').css('opacity', '.5'); 
    }  
}); 
+0

Спасибо Нейлу за ответ. Это похоже на работу в веб-среде, чтобы сделать логотип непрозрачным, но не внутри PhoneGap. Я ценю помощь, хотя :) – tjoenz

+0

Пожалуйста, [не добавляйте подписи или метки в свои сообщения] (http://stackoverflow.com/faq#signatures). – meagar

1
jQuery.each(rolesArray, function() { 
    if (this == "USER") { 
     $("#yourButton").addClass('ui-disabled'); 
    } 

}); 
+0

Хорошо, я пробовал это также в iOS и Android PhoneGap и не устанавливал непрозрачность. Однако он работает в веб-браузерах. – tjoenz

2

У меня была аналогичная проблема с отображением маски с анимацией:

opacity = $(maskDiv).css('opacity'); //read the opacity from CSS file 
$(maskDiv).css('opacity', 0).animate({opacity: opacity}, 500); //animate fading 

Но в то время как это работает в браузерах, метод CSS() возвращает неверное значение в PhoneGap и экран становится полностью пустой (непрозрачность маски = 1). Поэтому я просто зафиксировал это с помощью жесткого кодирования значения непрозрачности в JS:

$(maskDiv).css('opacity', 0).animate({opacity: 0.5}, 500); 
+0

Хотя моя проблема была немного иной (приложение phonegap 3.4, тестирование на Android 4.3), это решение сработало. Раньше я использовал библиотеку транзита jquery, поэтому мне пришлось менять '$ ('. Double-tap-vote-image'). Transition ({opacity: 0}, 1500, 'ease');' to '$ ('. double-tap-vote-image '). animate ({opacity: 0}, 1500); 'для работы в моем приложении. – DemitryT

Смежные вопросы