JQuery Safari Непрозрачность только - PullRequest
0 голосов
/ 25 марта 2011
#div1{ 
filter:alpha(opacity=85); 
-moz-opacity:0.85; 
-khtml-opacity:0.85; 
opacity: 0.85;
}

#div1:hover{ 
filter:alpha(opacity=100); 
-moz-opacity:1; 
-khtml-opacity:1; 
opacity: 1;
}

html>#div1.safarihack{
opacity: 1; 
}

Все вышеперечисленное делает как задумано.В Safari всегда установлена ​​полная непрозрачность, поскольку в противном случае он не отображается должным образом.Тем не менее, у меня также есть событие jquery, когда при нажатии на этот div непрозрачность исчезает до 0, и мне нужно, чтобы он уменьшился до 0 для всех браузеров (fadeout не является опцией).Затем div изменяется, и мне нужно, чтобы непрозрачность всех браузеров вернулась к 0,85 или 85, кроме сафари, который должен вернуться к 100.

Как я могу настроить это в jquery?Есть ли способ, которым я могу поместить

html>#div1.safarihack {opacity: 1; }

в это?

$(this).html(nextHtml).animate({'opacity':'0.85',
                                              'filter':'alpha(opacity=85)', 
                                              '-moz-opacity':'0.85',
                                              '-khtml-opacity':'0.85',
                                              }, 500);

* Обратите внимание, что (это) = # div1 **

Ответы [ 4 ]

0 голосов
/ 25 марта 2011

Помогает ли эта демонстрация в вашей проблеме? Я уменьшил непрозрачность, чтобы сделать наведение более заметным для демонстрации.

Редактировать: Обновленная демоверсия , в которой изменяется непрозрачность текста. Кажется, работает нормально в Safari5

Я не совсем понимаю проблему с непрозрачностью Safari, поскольку не вижу проблем с запуском демонстрации в Safari5, Chrome12 или Firefox4.

0 голосов
/ 25 марта 2011

Попробуйте

$(this).html(nextHtml).animate({opacity:($.browser.safari)?1:.85});

Обратите внимание, что $.browser.safari устарело.

Также нет необходимости использовать все эти атрибуты opacity в jQuery, jQuery переведет «opacity» в атрибуттекущий браузер поддерживает.

0 голосов
/ 25 марта 2011
0 голосов
/ 25 марта 2011

Я думаю, вы найдете эту тему интересной: Отличайте Chrome от Safari с помощью jQuery.browser

...