Javascript 同时使用fadeIn和insertBefore
我正在尝试为下面代码的最后一行设置动画,但它不起作用。是因为我将jquery与常规javascript相结合吗Javascript 同时使用fadeIn和insertBefore,javascript,jquery,Javascript,Jquery,我正在尝试为下面代码的最后一行设置动画,但它不起作用。是因为我将jquery与常规javascript相结合吗 function addtext(name) { var text = document.getElementsByName(name)[0].value; var sth = text.length; if(sth > 0) { // $.post( "../parsers/new_text.php", { text: text } );
function addtext(name) {
var text = document.getElementsByName(name)[0].value;
var sth = text.length;
if(sth > 0) {
// $.post( "../parsers/new_text.php", { text: text } );
var area = document.getElementsByName(name)[0];
area.value = "";
var div = document.createElement("div");
var texts = document.createTextNode(text);
div.appendChild(texts);
var elem = document.getElementById("texts");
$(elem).insertBefore(div, elem.firstChild).fadeIn();
}
}
如果您已经在使用jQuery,那么如果不必使用纯javascript,也可以不使用纯javascript 这个 可以写得这么简短,像这样
$('#texts').prepend('<div>Some text you want here, and even a variable like ' + someVar + '</div>');
$('#text').prepend('这里需要一些文本,甚至是'+someVar+''这样的变量);
此外,要使淡入淡出正常工作,您可以执行以下操作:
$('#texts').prepend('<div style="display: none;">Some text you want here, and even a variable like ' + someVar + '</div>').hide().fadeIn(2000);
$('#texts').prepend('这里需要的一些文本,甚至像'+someVar+''这样的变量)。hide().fadeIn(2000);
只需使用display none,使其不会立即显示,然后使用fadeIn()
要使元素褪色,必须先将其隐藏。
编辑: 这是如果您希望整个父div为fadeIn
$('#texts').prepend('<div class="texttt">Some text you want here, and even a variable like</div>').hide().fadeIn(2200);
$('#texts').prepend('<div class="texttt">Some text you want here, and even a variable like</div>');
$('.texttt').hide().fadeIn(2000);
$('#text').prepend('这里需要一些文本,甚至是一个变量').hide().fadeIn(2200);
这是如果您只想将文本/新div添加到fadeIn
$('#texts').prepend('<div class="texttt">Some text you want here, and even a variable like</div>').hide().fadeIn(2200);
$('#texts').prepend('<div class="texttt">Some text you want here, and even a variable like</div>');
$('.texttt').hide().fadeIn(2000);
$('#text').prepend('这里需要一些文本,甚至像这样的变量');
$('.texttt').hide().fadeIn(2000);
您正在尝试这样做吗
$('<div/>', {
text: 'text'
}).fadeIn('slow', function(){
$(this).appendTo('body');
});
$(“”{
文本:“文本”
}).fadeIn('slow',function(){
$(this.appendTo('body');
});
Fiddle:您没有使用insertBefore对吗
$(elem).insertBefore(div, elem.firstChild).fadeIn();
正确的用法是一个参数:newElement.insertBefore(target)
另一种方式
var $div = $(div);
$(elem).prepend($div);
$div.fadeIn();
对于jQuery fadeIn和slidein,首先需要隐藏元素。另外,您将只希望使用jQuery。按照jQuery处理选择器的方式,处理jQuery中的所有内容要简单得多 对于任何需要css先隐藏的元素
display: hidden;
您可以通过javascript实现这一点:
$('#elementId').css('display', 'hidden');
一旦元素被隐藏,fadeIn应该可以工作
您是否已将jQuery库包含在代码中以使其可用?只是淡入淡出不起作用。当我删除“$(elem)”时,它可以工作。我包含code.jquery.com/jquery-1.11.0.min.js“>。谢谢,这更有效,但fadeIn仍然不起作用。当我使用display:none时,什么也不显示。我尝试了visibility:hidden,div的空间显示(它有边距),但它仍然不可见。