jQuery的slideUp效果通過向上滑動來隱藏元素,而slideDown顯示該元素。我想用slideUp顯示我的div。任何人都可以引導我?感謝jQuery slideUp顯示元素而不隱藏
回答
$("div").click(function() {
$(this).hide("slide", { direction: "down" }, 1000);
});
我發現了一個取巧的辦法...
你可以設置DIV與CSS樣式底部:0像素, 添加通話
$("#div).slideDown();
將與效果基本show到顯示效果展示你要。
這個作品,但只有當#div也可以設置爲position:absolute;當#div需要相對定位時,它不會。 – Strixy 2013-04-25 21:26:11
獲得與slideUp和slideDown相反的結果。將這兩個函數添加到jQuery中。
$.fn.riseUp = function() { $(this).show("slide", { direction: "down" }, 1000); }
$.fn.riseDown = function() { $(this).hide("slide", { direction: "down" }, 1000); }
爲此,您需要使用jQueryUI庫[鏈接](https://developers.google.com/speed/libraries/devguide#jquery) – Yokocapolo 2012-12-08 19:47:51
這與@jason之前給出的實際效果相同,只是稍微有些鈍到命名空間。 – Strixy 2013-04-25 21:41:18
它本質上是相同的答案,儘管這是快捷方式,對某些人來說可能更易讀。 – jpillora 2013-04-27 06:25:01
它比只說slideUpShow()
什麼的更復雜一點,但你仍然可以做到。這是一個非常簡單的例子,所以你可能會發現一些需要處理的邊緣情況。
$("#show-animate-up").on("click", function() {
var div = $("div:not(:visible)");
var height = div.css({
display: "block"
}).height();
div.css({
overflow: "hidden",
marginTop: height,
height: 0
}).animate({
marginTop: 0,
height: height
}, 500, function() {
$(this).css({
display: "",
overflow: "",
height: "",
marginTop: ""
});
});
});
這裏的顯示使用animate
的slideUp
/slideDown
方法,相同的效果小提琴,並使用animate
修改後的版本是去反向:http://jsfiddle.net/sd7zsyhe/1/
由於animate
是一個內置的jQuery的功能,您不需要包含jQuery UI。
+1這很好,你有一個很好的jsfiddle例子。我不知道爲什麼沒有被選作正確答案 – krummens 2015-09-23 03:56:18
如果OP不想使用jQuery UI庫,這應該是答案 – 2016-05-31 10:38:51
我有一些downvotes所以我檢查了我的答案,實際上我沒有正確回答OP問題,對不起。所以我會試着解決這個問題。
首先,JQuery中的slideUp()
方法旨在隱藏元素而不是透露它。它基本上與slideDown()
相反,它通過滑動顯示您的元素。
通過知道我認爲我們同意沒有幻術功能在那裏做一個幻燈片上的效果來顯示一個元素(在JQuery中)。
所以我們需要做一些工作來獲得我們需要的東西:滑動顯示效果。我找到了一些解決方案,並在這裏是一個我認爲很容易實現:
https://coderwall.com/p/9dsvia/jquery-slideup-to-reveal
解決方案上面的懸停事件的作品,爲Click事件試試這個修改後的代碼:
http://jsfiddle.net/D7uT9/250/
由@redbmk給出的答案也是一個可行的解決方案。
對不起,我第一次誤會。
OLD ANSWER
這是一個古老的職位,但如果有人想辦法解決這是我的建議:。
現在,我們可以使用slideToggle()
來實現這種效果(不需要jQuery UI)。
$(".btn").click(function() {
$("div").slideToggle();
});
如果downvoting伴隨着評論,這將是非常有用的。謝謝 – youssman 2017-11-21 18:16:47
對於那些誰鴕鳥政策使用jQuery UI的,但希望將函數添加到jQuery庫:
jQuery.fn.slideUpShow = function (time,callback) {
if (!time)
time = 200;
var o = $(this[0]) // It's your element
if (o.is(':hidden'))
{
var height = o.css({
display: "block"
}).height();
o.css({
overflow: "hidden",
marginTop: height,
height: 0
}).animate({
marginTop: 0,
height: height
}, time, function() {
$(this).css({
display: "",
overflow: "",
height: "",
marginTop: ""
});
if (callback)
callback();
});
}
return this; // This is needed so others can keep chaining off of this
};
jQuery.fn.slideDownHide = function (time,callback) {
if (!time)
time = 200;
var o = $(this[0]) // It's your element
if (o.is(':visible')) {
var height = o.height();
o.css({
overflow: "hidden",
marginTop: 0,
height: height
}).animate({
marginTop: height,
height: 0
}, time, function() {
$(this).css({
display: "none",
overflow: "",
height: "",
marginTop: ""
});
if (callback)
callback();
});
}
return this;
}
現金@redbmk回答
- 1. jQuery slideUp顯示元素
- 2. jquery顯示/隱藏元素
- 3. jQuery隱藏/顯示元素
- 4. 顯示隱藏的元素
- 5. 顯示/隱藏DOM元素
- 6. 隱藏元素和顯示元素
- 7. 陣營:隱藏/顯示元素,而隱藏在類似的元素
- 8. 顯示隱藏的元素
- 9. 顯示和隱藏元素使用jQuery
- 10. JQuery的錯誤顯示/隱藏元素
- 11. 隱藏後jQuery顯示元素
- 12. jQuery隱藏並顯示多個元素
- 13. jQuery Mobile顯示隱藏的select元素
- 14. jQuery的隱藏和顯示DOM元素
- 15. jQuery的 - 顯示/隱藏元素
- 16. jquery顯示和隱藏元素
- 17. jquery for循環顯示隱藏元素
- 18. jQuery隱藏顯示元素邏輯
- 19. jQuery顯示/隱藏非子元素?
- 20. 使用jquery隱藏和顯示元素
- 21. 在jQuery中隱藏和顯示元素
- 22. jquery kill元素,而不是隱藏
- 23. 顯示/隱藏DOM元素
- 24. 顯示隱藏元素
- 25. Sencha顯示/隱藏元素
- 26. 僅使用Javascript而不使用DOM的隱藏/顯示元素
- 27. jQuery slideDown slideUP - 隱藏按鈕
- 28. 在jQuery中顯示隱藏元素表元素
- 29. JQuery:顯示隱藏父元素內的子元素
- 30. 僅顯示/隱藏最近的元素
Upvoted爲了易讀 – rossipedia 2011-03-09 08:05:20
我想展示div而不是隱藏它們傢伙 – 2011-03-09 08:07:58
Umair,我有沒有試過這個,但你可以嘗試改變「隱藏」到「顯示」,並改變你想要的方向。 – Jason 2011-03-09 08:13:31