2012-04-22 2 views
1

Я пытаюсь потушить DIV внутри тега <canvas>. (это даже разрешено? Я так полагаю, поскольку это элемент). Вы знаете, стандарт jQuery fadeIn и вот что я использую для стиля:jQuery fade a div внутри холста

<style type="text/css"> 
<!-- 
    #canvas { 
     background:red; 
     z-index:0; 
     position:relative;  
    } 
    .txt { 
     z-index:2; 
     background:blue; 
     display:none; 
     position:absolute; 
     top:0; 
     right:0; 
     width:200px; 
    } 
--> 
</style> 

и достаточно просто вот мой HTML (игнорировать тело .. У меня есть все это .. это сократить его краткое):

<body> 
    <canvas id="canvas"><div class="txt">Welcome to the Game</div></canvas> 
</body> 

Я попытался простой FadeIn и он не работает ..

+0

У вас есть код jquery? – locoboy

+0

Почему он должен находиться внутри элемента canvas. – Esailija

+0

Вот jQuery '$ ('. Txt'). FadeIn ('fast', function() {});' ... и он должен быть внутри. если нет .. это не сработает? – nn2

ответ

1

Из WHATWG spec:

Содержимое элемента холста, если таковые имеются, довольствуются запасной вариант элемента.

«содержание Запасной» отображается только тогда, когда браузер не поддерживает тип элемента:

<canvas> 
    <div>Looks like you need to upgrade to a canvas-aware browser!</div> 
</canvas> 

Вы должны поставить DIV после холста элемента и использовать CSS, чтобы расположить его визуально более холст.

+0

Спасибо, я понял. – nn2

0

Согласно WHATWG spec for the canvas element

Когда авторы используют элемент canvas, они также должны предоставлять контент, который при представлении пользователю передает по существу ту же функцию или цель, что и холст растрового изображения. Этот контент может быть помещен как содержимое элемента canvas. Содержимое элемента canvas, если оно есть, является резервным содержимым элемента.

Конечно, ваш контент не является резервным контентом. Если это не так, возможно, вам следует использовать обычные методы холста для отображения вашего текста.