<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<title>JS Bin</title>
</head>
<body>
<i class="fa fa-angle-left" id="arrow-left"></i>
<span id="options">
<span value="foo">Foo</span>
<span value="bar">Bar</span>
<span value="baz">Baz</span>
</span>
<i class="fa fa-angle-right" id="arrow-right"></i>
<input type="hidden" name="opts" value="foo" id="input">
</body>
</html>
var selected = 0
var opts = document.getElementById('options').children
var input = document.getElementById('input')
var l = document.getElementById('arrow-left')
var r = document.getElementById('arrow-right')
// on n'affiche que le premier, on cache les autres
for (var i = 0; i < opts.length; i++) {
if (i !== 0) opts[i].style.display = 'none'
}
// on màj l'input au chargement de la page
updateInput()
// modifie la valeur affiché
function show(index) {
// on cache l'ancienne valeur
opts[selected].style.display = 'none'
// on affiche la nouvelle
opts[index].style.display = 'inline-block'
// on selectionne la nouvelle
selected = index
}
// màj l'input
function updateInput() {
input.setAttribute('value', opts[selected].getAttribute('value'))
}
// quand on clique pour aller à gauche
l.addEventListener('click', function() {
// si on est au premier el, on passe au dernier
if (selected === 0) show(opts.length - 1)
// sinon, on prend l'el précedent
else show(selected - 1)
})
// pareil pour la droite
r.addEventListener('click', function() {
// si on est au dernier el, on passe au premier
if (selected === opts.length - 1) show(0)
// sinon, on prend l'el suivant
else show(selected + 1)
})
// on màj l'input quand on clique gauche ou droite
l.addEventListener('click', updateIndex)
r.addEventListener('click', updateIndex)
Output
This bin was created anonymously and its free preview time has expired (learn why). — Get a free unrestricted account
Dismiss xKeyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |