ОК. Я решил проблему с изменением кода, я выбрал чистое решение CSS, хотя я использовал Javascript для повышения производительности.
Итак, сначала я изменил свой код CSS следующим образом:
.tipsVi{
position:absolute;
z-index:3000;
cursor:default;
display:none;
color:#3d3d3d;
font-size:30px;
}
@-moz-keyframes slidein {
from {
margin-top:0;
}
50% {
margin-top:-4px;
}
to {
margin-top:0;
}
}
@-webkit-keyframes slidein {
from {
margin-top:0;
}
50% {
margin-top:-4px;
}
to {
margin-top:0;
}
}
Ключевые кадры предлагают мне постоянную анимацию с циклом, чтобы мне было проще.Но я просто хотел показать анимацию, когда я нажимал кнопку, поэтому я сделал это:
function tipsVi(){
//Help activated,
if(misTips==1){
misTips=0;
$('.tipsVi').fadeIn(150, function(){
var css={'position':'absolute',
'z-index':'3000',
'cursor':'default',
'color':'#3d3d3d',
'font-size':'30px',
'-webkit-animation-direction':'normal',
'-moz-animation-direction': 'normal',
'-webkit-animation-duration': '800ms',
'-moz-animation-duration': '800ms',
'-webkit-animation-iteration-count': 'infinite',
'-moz-animation-iteration-count': 'infinite',
'-webkit-animation-name': 'slidein',
'-moz-animation-name': 'slidein',
'-webkit-animation-timing-function': 'ease',
'-moz-animation-timing-function': 'ease'};
$('.tipsVi').css(css);
});
}
//Tips apagados
else{
console.log('desactivada');
$('.tipsVi).fadeOut(150, function(){
var css={'position':'absolute',
'z-index':'3000',
'cursor':'default',
'display':'none',
'color':'#3d3d3d',
'font-size':'30px'};
$('.tipsVi').css(css);
});
misTips=1;
}
}
Это может показаться немного сложным, но довольно простым, кнопка вызывает мою tipsVi()
функцию, подобную этой
<button onClick="javascript: tipsVi()">Help</button>
функция имеет глобальную переменную с именем misTips
, поэтому, когда флаг равен 0, css изменяет jQuery, поэтому она выглядит следующим образом:
.tipsVi{
position:absolute;
z-index:3000;
cursor:default;
display:none;
color:#3d3d3d;
font-size:30px;
-webkit-animation-direction: normal;
-moz-animation-direction: normal;
-webkit-animation-duration: 800ms;
-moz-animation-duration: 800ms;
-webkit-animation-iteration-count: infinite;
-moz-animation-iteration-count: infinite;
-webkit-animation-name: slidein;
-moz-animation-name: slidein;
-webkit-animation-timing-function: ease;
-moz-animation-timing-function: ease;
}
и вуаля, когда div
создает эффект fadeIn
, он начинает увеличиваться и уменьшаться, разумеется, загрузка процессора возрастает, поэтому, когда я снова нажимаю кнопку, чтобы скрыть div
, я возвращаю css, чтобы уменьшить загрузку процессораи улучшить производительность.
Надеюсь, это поможет кому-то вроде меня:)