<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://cherne.net/brian/resources/jquery.hoverIntent.js"></script>
</head>
<body>
<div class="sect parent1">First Tipped Element</div>
<br />
<div class="sect parent2">Second Tipped Element</div>
<div class="coolTip" id="parent1">
<div class="tipContentwrapper">
<div class="tm-heading">
<span class="tm-sub-info">
<a class="tm-favorite-clear">★</a>First Cool Tip<span class="tm-sub-links" style="float:right;">
<a class="tm-se-subscription" href="#toplink1">toplink1</a>
<span style="color:#727272;">|</span>
<a href="#toplink2">toplink2</a>
</span>
</span>
</div>
<div class="tm-description">Some text that consists of a description of the thing you are hovering over. :)</div>
<span class="tm-links">
<a href="#bottomlink1">bottomlink1</a>
<a href="#bottomlink2">bottomlink2</a>
<a href="#bottomlink3">bottomlink3</a>
</span>
</div>
<div class="coolTip" id="parent2">
<div class="tm-heading">
<span class="tm-sub-info">
<a class="tm-favorite-clear">★</a>Second Cool Tip <span class="tm-sub-links" style="float:right;">
<a class="tm-se-subscription" href="#toplink1">toplink1</a>
<span style="color:#727272;">|</span>
<a href="#toplink2">toplink2</a>
</span>
</span>
</div>
<div class="tm-description">Some text that consists of a description of the thing you are hovering over. :)</div>
<div class="tm-links">
<a href="#bottomlink1">bottomlink1</a>
<a href="#bottomlink2">bottomlink2</a>
<a href="#bottomlink3">bottomlink3</a>
</div>
</div>
</div>
</body>
</html>
.sect {
cursor:pointer;
display:inline-block;
margin:20px 0;
border:#999 solid 1px;
padding:3px 5px;
background:#C4DAE9;
color:#3E6D8E;
}
.tooltipWrapper {
overflow:hidden;
z-index:1002;
display:none;
position:absolute;
}
.coolTip {
width:318px;
height:122px;
top:0;
left:0;
cursor:auto;
display:none;
border-radius:4px;
border-radius:4px;
border:1px solid #1c1c1c;
border-top:1px solid #444;
background-color:#505050;
color:#e3e3e3;
text-align:left;
padding:10px;
box-shadow:0 2px 4px rgba(0,0,0,0.5),inset 0 1px 0 #727272;
box-shadow:0 2px 4px rgba(0,0,0,0.5),inset 0 1px 0 #727272;
box-shadow:0 2px 4px rgba(0,0,0,0.5),inset 0 1px 0 #727272;
font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
z-index:320;
position:relative;
font-size:12px;
}
.coolTip .tm-heading{
color:#fff;
font-weight:bold;
border-bottom:1px solid #727272;
padding-bottom:8px;
margin-bottom:8px
}
.coolTip .tm-description{
line-height:13px;
font-size:11px;
margin-bottom:8px;
word-wrap:break-word
}
.coolTip .tm-description p{
margin-bottom:8px
}
.coolTip .tm-description a,.coolTip .tm-description a:visited{
color:#b4d4ec
}
.coolTip .tm-favorite{
color:#fdca5c;
font-size:13px;
text-decoration:none
}
.coolTip .tm-favorite-clear{
color:#bbb;
font-size:13px;
padding-right:3px;
text-decoration:none
}
.coolTip .tm-favorite-ignore{
color:#f00;
font-size:13px;
text-decoration:none
}
.coolTip .tm-sub-links a,.coolTip .tm-sub-links a:visited{
font-weight:normal;
color:#f93;
text-decoration:none
}
.coolTip .tm-sub-links a:hover{
color:#faaf65
}
.coolTip .tm-links{
color:#727272;
display:block;
bottom:7px;
position:absolute;
}
.coolTip .tm-links a,#tag-menu .tm-links a:visited{
color:#b4d4ec;
font-size:11px;
text-decoration:none;
margin-right:8px
}
.coolTip .tm-links a:hover{
color:#dcecf7
}
function coolTips() {
$('.coolTip').each(function(){
var $this = $(this);
var id = $this.attr('id');
var $elem = $('.' + id);
$elem.removeAttr('title');
$('<div/>',{'class' : 'tooltipWrapper un' + id}).appendTo($elem);
var $tipWrapper = $('.tooltipWrapper.un' + id);
$this.appendTo($tipWrapper);
$this.show();
$elem.hoverIntent({
sensitivity: 2,
out: function () { $tipWrapper.hide(); },
over: function () {
var lOffset = $elem.offset().left;
var rOffset = '';
if ( lOffset + $this.outerWidth() >= $(window).width() ) {
lOffset = '';
rOffset = 0;
}
var tOffset = $elem.offset().top + $elem.outerHeight();
var bOffset = '';
if ( tOffset + $this.outerHeight() >= $(window).height() ) {
tOffset = '';
bOffset = 0;
}
$tipWrapper
.css('width','1')
.css('height','1')
.css('top', tOffset )
.css('bottom', bOffset )
.css('left', lOffset )
.css('right', rOffset )
.show()
.animate({ height:$this.outerHeight(), width:$this.outerWidth() });
}
});
});
}
coolTips();
Output
You can jump to the latest bin by adding /latest
to your URL
Keyboard 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. |