2014-09-23 49 views
0

刪除我有這個網站我如何可以切換兩種元素沒有在JavaScript

<div> 
<span data-disabled class="myclass"> like </span> 
<span class="myclass"> unlike </span> 
</div> 

SCSS是這樣

myclass{ 
    visibility: visible; 
     cursor: pointer; 

     &[data-disabled] { 
      visibility: hidden; 
     } 
} 

,並根據點擊我這樣做

 this.select('like').attr('data-disabled', true); 
     this.select('unlike').removeAttr('data-disabled'); 

它工作正常,但是我的喜歡和不喜歡彼此相鄰顯示,並且隱藏並在原始位置可見。

有沒有什麼辦法可以擁有相同的位置,當我隱藏和取消隱藏,然後他們相互覆蓋。

+0

你能爲我們小提琴?希望在行動中看到這一點。 – 2014-09-23 04:34:53

+0

使用'display'而不是'visibility'。 – Teemu 2014-09-23 04:36:37

+0

所有你需要的是「切換」功能和你的好去。 – 2014-09-23 04:40:40

回答

1

問題在於您使用的可見性屬性。您必須使用display:none,以便該物品在隱藏時不會佔用空間。

代替

visibility: hidden; 

使用

display: none; 

你可以閱讀更多關於it here

0

嘗試JQuery的切換函數來實現這一任務:

$(function(){ 
 
    $(".myclass").click(function() { 
 
     $(".myclass").toggle(); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    <span class="myclass"> like </span> 
 
    <span class="myclass" style="display:none"> unlike </span> 
 
    </div>