jQuery .show, .fadeIn не отображается в IE7 - PullRequest
0 голосов
/ 14 сентября 2010

Ниже приведен код jQuery, который я пытаюсь использовать. Он хорошо работает в Firefox, Opera, Chrome, Safari, но не в IE7. Сначала я подозревал, что это связано с тем, что селектор: hidden не поддерживается в IE7, поэтому я попытался просто .show () и .fadeIn () элемент без условий (вы можете увидеть это в закомментированной области).

 if (data.indexOf(error) == -1){
  alert('in result');
  if ( $('.result').is(":hidden") == true ){  
   alert('in fade in');
   $('.result').fadeIn('slow');
  }
  //$('.result').show('slow');
  $('.result span #entry').html(data);
  alert('entered data');

Однако это не оказалось успешным. Даже без условного селектора я все еще не могу заставить элемент появляться в IE7. Но я знаю, что он интерпретирует код, потому что выдается предупреждение «в результате» и «введенные данные».

Вот XHTML

<div class='result'>
<img src='content/red-x.gif' alt='close' />
<span id='entry'></span>
</div>

И CSS

.result { 
 display: none;
 background: #c9fd9b;
 background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    color-stop(0.51, rgb(201,253,155)),
    color-stop(0.85, rgb(217,245,191)),
    color-stop(0.24, rgb(193,240,149)),
    color-stop(0.11, rgb(177,222,136))
 );
 background: -moz-linear-gradient(
    center bottom,
    rgb(201,253,155) 51%,
    rgb(217,245,191) 85%,
    rgb(193,240,149) 24%,
    rgb(177,222,136) 11%));
 z-index: 22; 
 width: 255px;
 height: 155px;
 position: fixed;
 left: 50%;
 top: 65px; 
 overflow: hidden;
 padding: 10px;
 margin: 5px;
 margin-left: -127.5px;


 -webkit-border-radius: 10px;
 -moz-border-radius: 10px;
 border-radius: 10px;

 box-shadow: 2px 2px 10px #333333;
 -moz-box-shadow: 2px 2px 10px #333333;
 -webkit-box-shadow: 2px 2px 10px #333333; 
}

1 Ответ

0 голосов
/ 14 сентября 2010

Просто посмотрите на панель инструментов разработчика в IE после того, как элемент управления виден из-за эффекта затухания, он добавляет немного кода для прозрачности Просто удалите кусок кода, написав

$ ('селектор'). Css ('атрибут', ''); или написать $ ( 'Селектор') removeAttr ( 'стиль'). // Удаляет все встроенные стили.

Надеюсь, это поможет вам:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...