是否有更簡單的方法來切換2個或更多文本可見性?當我使用.toggle()
方法時,文本會上下跳動,因爲它們同時被切換。與.fadeIn()
和.fadeOut()
它工作正常,但代碼是凌亂的。在JavaScript中切換文本
var triggerTitle = function() {
var hasClassHide = $(".hero-title.1").hasClass("hide");
if (hasClassHide) {
$(".hero-title.1").removeClass("hide");
$(".hero-title.1").fadeIn(1000);
$(".hero-title.2").addClass("hide");
$(".hero-title.2").fadeOut(1000);
$(".hero-title.2").css("display", "none");
} else {
$(".hero-title.2").removeClass("hide");
$(".hero-title.2").fadeIn(1000);
$(".hero-title.1").addClass("hide");
$(".hero-title.1").fadeOut(1000);
$(".hero-title.1").css("display", "none");
}
};
setInterval(triggerTitle, 3000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1 class="hero-title 1">WEB DEVELOPER</h1>
<h1 class="hero-title 2 hide" style="display: none;">WEB DESIGNER</h1>
如果你把代碼放到代碼片段中,可以直接在這個頁面上試試:) – ByteHamster
我不明白你想要什麼,但是對於'fadeIn'和'fadeout'你不需要設置' css(「display」,「none」)'。 –
嘗試像這樣 'if(hasClassHide){(「。hero-title.1」)。removeClass(「hide」); $(「。hero-title.2」)。fadeOut(1000); $(「。hero-title.1」)。fadeIn(1000); $(「。hero-title.2」)。addClass(「hide」); } else { $(「。hero-title.2」)。removeClass(「hide」); $(「。hero-title.1」)。fadeOut(1000); $(「。hero-title.2」)。fadeIn(1000); $(「。hero-title.1」)。addClass(「hide」); }' –