Skip to content

Instantly share code, notes, and snippets.

@AnatolyShirykalov
Created January 25, 2017 08:59
Show Gist options
  • Save AnatolyShirykalov/8a6ce9bdc8eb3d409b43dfe75d5d9abb to your computer and use it in GitHub Desktop.
Save AnatolyShirykalov/8a6ce9bdc8eb3d409b43dfe75d5d9abb to your computer and use it in GitHub Desktop.
valila.js onepage application example
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="navigation"></div>
<div id="papupa">
</div>
<script>
// это произойдёт сразу
window.templates = {
greeting: function () {
var ret = ""
ret += "<h1>Привет лунатикам!</h1><br/>"
ret += "<div>Сегодня у нас " + (new Date).toString() + "</div>"
ret += "<div>Мы находимся тут: " + document.location + "</div>"
return ret
},
another: function(arg){
var ret = ""
ret += "<h1>Какой-то другой шаблон</h1>"
ret += "<div>Сюда можно передавать аргументы, например:"
ret += " <span>" + arg + "</span>"
ret += "</div>"
return ret
},
navigation: function(){
var ret = ""
ret += "<button id='toggle'>Другой шаблон</button>"
return ret
}
}
window.state = 0
document.addEventListener('DOMContentLoaded', function () { // это произойдёт только после того, как страница будет к этому готова
document.getElementById('navigation').innerHTML = templates.navigation()
document.getElementById('papupa').innerHTML = templates.greeting()
document.getElementById('toggle').addEventListener('click', function (){
var ar = ["greeting", "another"]
window.state = (window.state + 1) % 2
document.getElementById('papupa').innerHTML = templates[ar[state]]("Аргумент") // функциям без аргументов можно передавать аргументы, они их проигнорируют
})
})
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment