簡體   English   中英

顯示/隱藏 <div> 使用JavaScript

[英]Showing/hiding <div> using javascript

例如,我有一個名為showcontainer的函數。 當我單擊一個激活它的按鈕時,我希望某個div元素(在本例中為<div id="container"> )淡入。再次單擊時,淡出。 我該如何實現?

注意:我不習慣使用jQuery。

因此,您得到了一堆jQuery答案。 很好,我也傾向於將jQuery用於此類內容。 但是用普通的JavaScript做到這一點並不難,只是更加冗長:

var container = document.getElementById('container');
var btn = document.getElementById('showcontainer');

btn.onclick = function() {

    // Fade out
    if(container.style.display != 'none') {
      var fade = setInterval(function(){
        var opacity = parseFloat(container.style.opacity);
        opacity = isNaN(opacity) ? 100 : parseInt(opacity * 100, 10);
        opacity -= 5;
        container.style.opacity = opacity/100;
        if(opacity <= 0) {
          clearInterval(fade);
          container.style.opacity = 0;
          container.style.display = 'none';
        }
      }, 50);

    // Fade in
    } else {
      container.style.display = 'block';
      container.style.opacity = 0;
      var fade = setInterval(function(){
        var opacity = parseFloat(container.style.opacity);
        opacity = isNaN(opacity) ? 100 : parseInt(opacity * 100, 10);
        opacity += 5;
        container.style.opacity = opacity/100;
        if(opacity >= 100) {
          clearInterval(fade);
          container.style.opacity = 1;
        }
      }, 50);
    }

};

檢查工作演示

您能做的最好的事情就是立即開始並習慣使用jQuery。

http://api.jquery.com/fadeIn/頁面包含可以在此處編寫的所有示例代碼。 基本上,您想在showcontainer函數中調用調用fadeIn。

function showcontainer() {
    $('#container').fadeIn();
}

如果您不反對使用jQuery本身,則可以輕松實現此目的:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function() {
        $('#showcontainer').click(function() {
            $('#container').fadeToggle();
        });
    });
</script>
...
<div id="container">
...
</div>
...

<input type="button" id="showcontainer" value="Show/hide"/>
...

請注意,在jQuery源代碼的開頭缺少了http: 使用此技巧,瀏覽器將根據原始頁面是否安全自動使用http:https:

包含jQuery之后的代碼片段將處理程序分配給按鈕。

您可以看一下jQuery UI Toggle

該文檔使該庫的使用變得非常簡單,並且它們具有許多代碼示例。

您最好還是學習jQuery,因為它使做事變得容易得多!

從它的聲音來看,您可以在HTML中已有容器div,但其樣式為“ display:none;”,然后使用( jQuery )在單擊事件中簡單地將其顯示:

$('#container').fadeIn('slow', function() {
    //Any additional logic after it's visible can go here
  });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM