我正在使用腳本使內容框從入口處滑入頂部,然後在退出時滑落。在轉換結束時添加新動畫
然而,當你點擊內容框一按鈕,然後內容框二,然後又回到一個,從底部而不是頂部進入的時候,它幾乎可以很好地工作。
我想我明白爲什麼會發生這種情況(因爲代碼全部在一個命中中運行,因此不是從視口下方,而是從視口上方,再到視圖上方,然後進入視圖,它只是從下面進入視圖),但無法弄清楚如何使它始終從頂部進入。
HTML:
<div class="slidey slidey1 enter">
Content Box 1
</div>
<div class="slidey slidey2">
Content Box 1
</div>
<div class="slidey slidey3">
Content Box 1
</div>
CSS:
.slidey { top:-100% }
.enter { top:0; transition: all 0.7s ease-in-out; }
.exit { top:100%; transition: all 0.7s ease-in-out; }
的jQuery:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(".changer").click(function(){
if ($(".slidey" + $(this).data("slidey")).hasClass("enter")) {
return false
} else {
$(".slidey").removeClass("exit");
$(".slidey.enter").addClass("exit").removeClass("enter");
$(".slidey" + $(this).data("slidey")).addClass("enter");
$(".changer").removeClass("link_change");
$(".changer" + $(this).data("slidey")).addClass("link_change");
return false;
}
});
});
</script>
的頁面不再是可被查看。
你的HTML是錯誤的,可能是一個簡化錯字。您需要'slidey1,slidey2,slidey3',而不是您有兩個'slidey3' ...嘗試始終添加所有重現您的問題的最小(有效)代碼 - 因此,不需要從頭開始或通過訪問你的網頁。 ;) –
將在下次@ RokoC.Buljan時考慮到這一點 - 通過重新創建問題的所有代碼,你是否認爲最低限度需要將其粘貼到jsfiddle中,並讓它運行? (所以在上面我需要包括鏈接以及?) – chloe784
代碼編輯器允許您粘貼代碼片段[[<>]'(Snippet Button)。你不需要創建jsfiddle而不是jsbin,也不需要編碼等等。我的意思是,如果你想獲得可靠的(非模糊的)準確的答案,你會盡力而爲。否則,你只能期待一般的答案,導致人們急於將不會去你的網站,檢查元素,並放寬寶貴的時間。快樂的編碼! –