2016-09-30 35 views

回答

1
$(document).ready(function() { 
     $("#toggle").click(function() { 
     if($(this).hasClass('active')){ 
     $(this).removeClass('active'); 
     $("#sidebar").animate({ 
       left: '0%' 
     }); 
     }else{ 
     $(this).addClass('active'); 
     $("#sidebar").animate({ 
       left: '-55%' 
     }); 
     } 


     }); 
    }); 

嘗試這個js代碼。

http://jsfiddle.net/100pvu95/3/看到這裏

+0

這個效果很好。但有一點。我正在使用媒體查詢,這可以讓側欄具有更多或更少的寬度大小,具體取決於屏幕大小。因此,單擊切換後,您的代碼將不會根據屏幕大小將盡可能多的側邊欄留在屏幕上。有沒有辦法不告訴側欄多遠移動,但要告訴它多少要離開屏幕?希望我已經解釋得很好。 – Eddy

4

您可以使用此代碼 您必須聲明一個變量按鈕

的控制點擊

$(document).ready(function() { 
 
     var is_Clicked = false; 
 
     $("#toggle").click(function() { 
 
     if (is_Clicked) { 
 
      $("#sidebar").animate({ 
 
      left: '0' 
 
      }); 
 
      is_Clicked = false; 
 
     } else { 
 
      $("#sidebar").animate({ 
 
      left: '-55%' 
 
      }); 
 
      is_Clicked = true; 
 
     } 
 
     }); 
 
    });
html, 
 
body { 
 
    width: 100%; 
 
    height: 100%; 
 
} 
 

 
#header { 
 
    width: 100%; 
 
    height: 20%; 
 
    float: left; 
 
    border: 1px solid; 
 
} 
 

 
#sidebar { 
 
    width: 70%; 
 
    height: 80%; 
 
    position: relative; 
 
    border: 1px solid; 
 
} 
 

 
#toggle { 
 
    width: 10%; 
 
    height: 40%; 
 
    margin-right: 6.5%; 
 
    margin-top: 3.5%; 
 
    float: right; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div id="sidebar"> 
 

 
    SIDEBAR 
 
    <input type="button" value="Toggle" id="toggle"> 
 
</div>

+0

這個效果很好。但有一點。我正在使用媒體查詢,這可以讓側欄具有更多或更少的寬度大小,具體取決於屏幕大小。因此,單擊切換後,您的代碼將不會根據屏幕大小將盡可能多的側邊欄留在屏幕上。有沒有辦法不告訴側欄多遠移動,但要告訴它多少要離開屏幕?希望我已經解釋得很好。 – Eddy

0

我對我的jQuery有點模糊,但你可以做2個教學班,你想爲打開和關閉的CSS屬性,然後切換上.click()事件類

$(document).ready(function() { 
$("#toggle").click(function() { 
    $("#sidebar").toggleClass("close"); 

}); 
}); 

CSS

.open{ 
    width: 0px 
} 
.close{ 
    width: -70px; 
} 

只要確保申報.close class.open class 所以它覆蓋.open class的屬性時,它的DIV添加到它

像這樣的事情應該工作,代碼可能需要一些調整,因爲我對我的jQuery有點生疏,但你去那裏。