[英].slideDown() Doesn't Seem To Work
使用.append()將textarea的值附加到div后,JQuery的.slideUp()不起作用。
HTML:
<html>
<body>
<div id="cont">
<textarea id="txt"></textarea>
<button onclick="click()">Click</button>
</div>
</body>
</html>
JavaScript:
function click(){
var txt = $('#txt').val();
var html = document.createElement('div');
$(html).hide().html(txt);
$('#cont').append(html);
$(html).slideUp(500);
}
我不知道是什么問題,因為當我使用.show()而不是.slideUp()時,它可以正常工作。
well ... slideDown讓元素顯示出來,而slideUp讓元素隱藏起來。 嘗試
$(html).slideDown(500)
我不這么認為,但我認為這很容易:只要將div元素放在html內(使用$(html)就很難處理),將其稱為“ myDiv”並放置其中的所有內容myDiv中的html
然后將div移至窗口外並進行動畫處理(請注意,將其移至底部的底部需要暫時禁用窗口的滾動)
$(document).css('overflow','hidden');
$("#myDiv").css({'top':$(document).height(), 'opacity':'0'});
/*outside of the window and transparent*/
$("#myDiv").animate({
'opacity':'1',
'top':'0'
},2000, function(){$(document).css('overflow','auto');});
我認為它應該像這樣
隱藏新的div,然后再將其添加到#cont
然后對其調用.slideDown
以顯示:
// When the button is pressed
$("button").on("click", function(){
// Create a new DIV with our text as its content
$("<div>", { text: $("#txt").val() } )
// Make it invisible, append it, and then slide it into view
.hide().appendTo("#cont").slideDown(500);
});
小提琴: http : //jsfiddle.net/7Zp5w/1/
此外,L。Monty已經指出,您可以通過使用jQuery的鏈接來精簡函數。
$('button').on('click', function() {
$('<div>')
.html($('#txt').val())
.appendTo('#cont')
.slideDown(0).slideUp('slow');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.