2014-04-09 62 views
0

我將如何創建一個切換按鈕與snap.js在這裏找到https://github.com/jakiestfu/Snap.js用法部分非常簡短,我不明白。這是我想出的一些代碼。我是新來的JavaScript和任何幫助表示讚賞。Javascript按鈕snap.js

<script src="js/snap.min.js"></script> 
<script> 
var snapper = new Snap({ 
    element: document.getElementById('content') 
}); 
    myToggleButton.addEventListener('click', function(){ 

if(snapper.state().state=="left"){ 
    snapper.close(); 
} else { 
    snapper.open('left'); 
} 

}); 
</script> 
</head> 

<body> 
<button id="myToggleButton">Menu</button> 
<div id="content"> 
This is a menu 
</div> 
+0

標記是錯誤的id爲'myToggleButton'按鈕。它應該是'id =「myToggleButton」'。 – vivekagr

+0

現在修復了嗎? – eric2872

+0

將您的腳本放在關閉''標籤之前。看[這個問題](http://stackoverflow.com/q/436411/266535)。 – styfle

回答

2

您需要在添加點擊偵聽器之前獲取按鈕元素。另外,按鈕上id屬性的標記是錯誤的。

<script src="js/snap.min.js"></script> 
<script> 
    var snapper = new Snap({ 
     element: document.getElementById('content') 
    }); 

    // Get the button 
    var myToggleButton = document.getElementById('myToggleButton'); 

    myToggleButton.addEventListener('click', function(){ 

     if(snapper.state().state=="left"){ 
      snapper.close(); 
     } else { 
      snapper.open('left'); 
     } 

    }); 
</script> 
</head> 

<body> 
<button id="myToggleButton">Menu</button> 
<div id="content"> 
    This is a menu 
</div> 

編輯:更新了使用document.getElementById而不是jQuery的答案。

2

它看起來像有一個在你的JavaScript錯誤(除非你已經省略了一些代碼。)

var snapper = new Snap({ 
    element: document.getElementById('content') 
}); 

// you need to grab a reference to this node before you can add the event listener 
var myToggleButton = document.getElementById('myToggleButton'); 

myToggleButton.addEventListener('click', function(){ 

    if(snapper.state().state=="left"){ 
    snapper.close(); 
    } else { 
    snapper.open('left'); 
    } 

}); 
0

addEvent(document.getElementById('toggleButton'), 'click', function(){ 
 
\t if(snapper.state().state=="left"){ 
 
     snapper.close(); 
 
    } else { 
 
     snapper.open('left'); 
 
    } 
 
});

+0

解釋你想說的話。 – Kumar