2016-01-04 3 views
0

После того, как вы нажмете на определенное место на карте изображения, необходимо запустить функцию add(), необходимо создать абзац, в течение пяти секунд нужно «не показывать» красным цветом, и этот пункт следует снова удалить.Добавление и удаление абзаца с кратким отображением текста

function add() { 
    var x = document.createElement("P"); 
    var t = document.createTextNode("This is a paragraph."); 
    x.appendChild(t); 
    document.body.appendChild(x); 
    setTimeout ("del()", 5000); 
     } 
function del() { 
removeChild() } 

Таким образом, есть несколько вещей, которые не верны. 1: как вы меняете текст на красный? И к другому шрифту? 2: функция del() должна удалить абзац, но я не знаю, что разместить там. Только removeChild(P)? Подождите ... P даже не ребенок ...

Может ли кто-нибудь помочь мне получить желаемый результат? (Я имею в виду, это: один должен видеть «не доступна» в красном цвете в течение пяти секунд, после чего этот пункт должен исчезнуть

ответ

0

изменить текст на красный с помощью JavaScript:.

para.style.fontFamily = 'Arial' 
para.style.color = 'red' 

изменить текст красному с помощью CSS:

CSS:

.mypara { 
    color: red; 
    font-family: Arial; 
} 

JS:

para.className = 'mypara' 

удалить пункт:

var para = document.createElement("P"); 
function add() { 
    var t = document.createTextNode("This is a paragraph."); 
    para.appendChild(t); 
    document.body.appendChild(para); 
    setTimeout (del, 5000); 
} 
function del() { 
    para.parentNode.removeChild(para); 
    // or if you just need to empty the paragraph 
    // para.innerHTML = ''; 
} 
+2

Вероятно, лучше дать 'para' класс и позволить CSS делать бизнес. Легче изменить в будущем –

+2

Другие улучшения будут изменять глобальную переменную 'para' до третьего параметра в' setTimeout'. –

+0

Или сделать функцию del() взять элемент в качестве аргумента и сделать 'setTimeout (function() {del (para)}, 5000);' –

0

Чтобы сделать этот текст красным: Есть два способа. Либо вы пишете:

x.style.color = '#ff0000'; 

Или вы даете ему класс:

x.className = 'red_text' 

... и определить стиль для данного класса в таблице стилей.

Чтобы удалить пункт, просто делать обратное тому, что вы сделали, чтобы добавить его:

document.body.removeChild(x) 
0

Взгляните на этот example.

1: как вы меняете текст на красный? И к другому шрифту?

Я предлагаю использовать CSS для всего, что касается стиля, и просто назначить правильный класс элементу. Вы можете указать все, что вам нужно. Например, используйте CSS для эффекта угасания.

2: функция del() должна удалить абзац, но я не знаю, что разместить там. Просто removeChild (P)?

Я предлагаю использовать закрытие и передать родительский и дочерний элементы для использования parent.removeChild (child);. Если вам не нужно ничего другого, вы даже можете избежать, чтобы определить другую функцию.