[英]how to toggle between styles using Javascript or jquery
我有一個.ban2
類和#banner2
.ban2
id 的 div。
每當我單擊 div 本身時,我都想更改此 div 的 border-radius 屬性。 就像我第一次點擊它時,border-radius 變為 0,當我再次點擊時,它又回到50% 0 0 50%
。
我想在這兩種樣式之間切換。 在我的.ban2Toggle
類中,我包含了所有樣式,但邊框半徑為 0。
它只工作一次,就像我第一次單擊它時邊框半徑變為 0。下次我單擊它時,我不知道如何讓它恢復正常。
.banner .ban2{
position: absolute;
right: 0;
top: 0;
width: 40%;
height: 63vh;
background: #5a0980;
border-radius: 50% 0 0 50%;
transform: scaleY(1.6);
display: flex;
justify-content: center;
align-items: center;
transition: 1s ease;
}
$('#banner2').on('click', function(){
$('#banner2').removeClass('ban2');
$('#banner2').addClass('ban2Toggle');
});
對於jQuery ,您必須使用
$(element).toggleClass('className');
它會自動為您添加和刪除它。
對於JavaScript ,您必須使用
element.classList.toggle('className');
它會自動為您添加和刪除它。
示例代碼段(運行)
$('#banner2').on('click', function() { $('#banner2').toggleClass('ban2Toggle'); });
.banner .ban2 { position: absolute; right: 0; top: 0; width: 40%; height: 63vh; background: #5a0980; border-radius: 50% 0 0 50%; transform: scaleY(1.6); display: flex; justify-content: center; align-items: center; transition: 1s ease; } .banner .ban2.ban2Toggle { border-radius: 0; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="banner"> <div id="banner2" class="ban2">Lorem Ipsum</div> </div>
按照BOZ 的回答,您需要這樣做:
html:
<div id="banner2" class="ban2"></div>
腳本:
$('#banner2').on('click', function(){
$('#banner2').toggleClass('ban2');
$('#banner2').toggleClass('ban2Toggle');
});
取一個命名flag=false的變量; 當您單擊按鈕時,將標志變量的狀態更改為 true 當標志為 true 時使用條件渲染使邊框半徑為 0 再次單擊時再次使標志為 false 當標志為 false 時再次使用條件渲染使邊框半徑為 50
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.