2015-05-18 2 views
0

Это важный проект для меня, и я пытаюсь найти способ предотвратить добавление текста к body снова и снова. У меня есть разные слайды, которые появляются каждый раз, когда вы нажимаете на стрелка вправо или клавиши со стрелками. Когда вы нажмете 'p' вы пауза слайды, и вы увидите фоновое изображение корпуса. С помощью функции append() я добавляю текст к изображению. К сожалению, текст добавляется, когда вы пауза или играть. До сих пор я пытался использовать hide(), fadeOut(), one() даже dequeue(), чтобы остановить его, но без успеха. Как я могу добавить текст к телу один раз? fadeToggle() функция отлично работает отображение и скрытие фоновое изображение тела только текст является причиной является проблемойДобавление текста в фоновое изображение тела с эффектом fadeToggle()

$(document).keyup(function(event) { 
     var text = $("<p.text>PRESS 'P' TO GO BACK</p.text>"); 
     if(event.keyCode == 39 || event.keyCode == 40 || event.keyCode == 32) { 
     next(); // right arrow and bottom arrow keys 
     } 
     else if(event.keyCode == 37 || event.keyCode == 38){ 
     back(); // left arrow and up arrow keys 
     } 
     else if(event.keyCode == 80){ // 'p' key to pause and play 
      $('.slides').fadeToggle(); 
      $('body').append(text).hide(); 
     } 
    }); 

CSS:

body { 
    font-size: 2.5em; 
    background: url("bodyBack.png"); 
} 

Это не полный код

ответ

1

попробовать это .. и пусть меня знаете, что вам нужно или нет

var notappend = true; 
    $(document).keyup(function(event) { 
      var text = $("<p.text>PRESS 'P' TO GO BACK</p.text>"); 
      if(event.keyCode == 39 || event.keyCode == 40 || event.keyCode == 32) { 
      next(); // right arrow and bottom arrow keys 
      } 
      else if(event.keyCode == 37 || event.keyCode == 38){ 
      back(); // left arrow and up arrow keys 
      } 
      else if(event.keyCode == 80){ // 'p' key to pause and play 
       $('.slides').fadeToggle(); 
       if(notappend == true){ 
        $('body').append(text); 
        notappend = false; 
       }else{ 
        //notappend == true; 
       } 

      } 
     }); 

попытайтесь обходить notap pend == true; и notappend == false; чтобы получить то, что вы хотите

+0

нет это не сработало. Теперь я не вижу даже своих слайдов –

+0

@alpha, пожалуйста, снова проверьте мой ответ. Я ничего не делаю в вашем коде. Я просто добавляю внутри, если инструкция .. и всегда проверяйте консоль –

+0

после удара 'p 'снова я не вижу, что появились слайды ... Это просто полностью белый фон, даже изображение тела исчезло –