[英]trying to make a div slide down and up from top of page using - top positioning and jquery animate upon click
基本上當用戶點擊.selector元素時,div .dropDown應向上滑動-100px,當它們再次單擊時,它應向下滑動到頂部:0px。
$(document).ready(function(){
var orig = $(".dropDown").outerHeight(); // 104
var top = $(".dropDown").css("top");
if(top == "0px"){
$(".selector").on("click", function(e){
$(".dropDown").animate({top : "-100px"}, 400,
function(){
var top = $(".dropDown").css("top");
alert(top);
})
})
}
// else{
// $(".selector").on("click", function(e){
// $(".dropDown").animate({top : "0px"}, 400);
// $("body").css({"background-color" : "green"})
// })
// }
if($(".dropDown").css("top") == "-100px"){
$(".selector").on("click", function(e){
$(".dropDown").animate({top : "0px"}, 400);
$("body").css({"background-color" : "green"})
})
}
});
邏輯:如果dropDown div的頂部位置為零,則意味着div是打開的(可見)。 當用戶單擊按鈕隱藏dropDown div時,div將轉到-100px(隱藏)。 然后,如果用戶想再次看到div,他們點擊按鈕,然后div返回到頂部:0。
當頂部處於-100px時我遇到問題,當我點擊按鈕時,下拉列表不會向下滑動。 請幫忙。 謝謝。
當我設置jsfiddle時,我意識到我到目前為止在FF中工作但在chrome中沒有。 這對我來說很奇怪,如果你能幫助我解決這個問題也會很棒。
您可以通過布置展開時應顯示的div來實現此目的,並設置display:none
,但將可單擊的選項卡作為子元素輸出,以便始終可見。 然后你可以使用slideToggle
簡化你的javascript。 300
值僅指定您希望它滑動的速度。
例:
$(document).ready(function(){
$('.selector').click(function () {
$('.dropDown').slideToggle(300);
});
});
編輯
此時維護邊框只是樣式,您可以添加一個包含“信息”選項卡的容器div,並將其設置為頂部邊框。 這是一個進一步更新的jsFiddle 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.