Подробности в скрипте.
<style>
/* Dock */
#dock {
display: block;
margin: 30px auto;
top: 0px;
width: 100%;
text-align: center;
overflow: hidden;
}
#dock ul {
margin: 0px -60px;
padding: 0px;
list-style: none;
height: 198px;
line-height: 198px;
text-align: center;
white-space: nowrap;
display: inline-block;
background: url("http://www.aplweb.co.uk/blog/js/mac-like-icon-dock-v3/img/dock-middle.png") bottom left repeat-x;
}
#dock ul:before,
#dock ul:after {
content: "";
color: transparent;
display: inline-block;
width: 0px;
padding-top: 60px;
margin-top: -60px;
vertical-align: bottom;
}
#dock ul:before {
padding-left: 60px;
margin-left: -60px;
background: url("http://www.aplweb.co.uk/blog/js/mac-like-icon-dock-v3/img/dock-left.png") bottom left repeat-x;
}
#dock ul:after {
padding-right: 60px;
margin-right: -60px;
background: url("http://www.aplweb.co.uk/blog/js/mac-like-icon-dock-v3/img/dock-right.png") bottom right repeat-x;
}
/* Dock Icons */
#dock li {
display: inline-block;
vertical-align: bottom;
margin: 0px;
padding: 0px;
position: relative;
overflow: visible;
}
#dock li.seperator {
background: url("http://www.aplweb.co.uk/blog/js/mac-like-icon-dock-v3/img/dock-seperator.png") bottom left no-repeat;
width: 20px;
height: 158px;
position: relative;
vertical-align: bottom;
}
#dock li a {
height: 153px;
width: 48px;
display: inline-block;
text-align: center;
position: relative;
vertical-align: bottom;
text-decoration: none;
color: black;
white-space: normal;
letter-spacing: normal;
line-height: 1.3em;
text-align: center;
font-family: Arial;
padding-top: 40px;
margin-bottom: 5px;
overflow: visible;
}
body.no_js #dock li a:hover {
width: 128px !important;
}
#dock li a span {
position: relative;
line-height: 1.3em;
display: none;
text-align: center;
font-weight: bold;
font-size: 80%;
padding: 4px 12px;
background-color: #EEE;
opacity: 0.4;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
margin: 0px auto;
top: -40px;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
#dock li a:hover span {
display: inline-block;
}
#dock li a:hover span:after {
display: block;
height: 9px;
color: transparent;
background: transparent url("http://www.aplweb.co.uk/blog/js/mac-like-icon-dock-v3/img/span.png") center top no-repeat;
position: absolute;
content: "";
text-align: center;
margin: 0px;
padding: 0px;
width: 100%;
margin-left: -16px;
}
#dock li a img {
height: auto;
width: 100%;
position: absolute;
left: 0px;
bottom: 10px;
text-align: center;
border: 0px none;
margin-bottom: 15px;
box-reflect: below 1px gradient(linear, left top, left bottom, from(transparent), color-stop(0.5, transparent), to(rgba(255,255,255,0.1)));
-webkit-box-reflect: below 1px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.5, transparent), to(rgba(255,255,255,0.1)));
-moz-box-reflect: below 1px -moz-gradient(linear, left top, left bottom, from(transparent), color-stop(0.5, transparent), to(rgba(255,255,255,0.1)));
}
</style>
<!--[if lte IE 7]>
<style>
/* Inline block fix */
#dock ul {
display: inline;
zoom: 1;
}
#dock li, #dock li a {
display: inline;
zoom: 1;
}
/* Image quality fix */
img {
-ms-interpolation-mode: bicubic;
}
#dock li a span {
filter: alpha(opacity=40);
}
</style>
<![endif]-->
<div id="dock">
<ul>
<li><a href="#address"><span>Address</span><img src="http://4.bp.blogspot.com/-HSJqHfOTN6Y/TjD0dcWEcsI/AAAAAAAAFp0/ItmFsKLxCt4/s1600/Yunomi%2B%2528tea%2Bcup%2529.png" alt="[address]" /></a></li>
<!--
<li><a href="#band"><span>Band</span><img src="http://2.bp.blogspot.com/-LPm74hbkH3w/TjD0hZKa_VI/AAAAAAAAFp8/mV1Li6wqzMo/s1600/Yoritsuki_disk.png" alt="[band]" /></a></li>
-->
<li><a href="#calendar"><span>Calendar</span><img src="http://3.bp.blogspot.com/-xZCGkW5z8_w/TjD0mhReP7I/AAAAAAAAFqE/Y_vzR23iZ04/s1600/Noren%2B%2528short%2Bsplit%2Bcurtain%2529.png" alt="[calendar]" /></a></li>
<!--
<li class="active"><a href="#chat"><span>Chat</span><img src="http://4.bp.blogspot.com/-dlAyGYEi2zg/TjD0qdGsF6I/AAAAAAAAFqM/1zKzRXahsIY/s1600/Folder.png" alt="[chat]" /></a></li>
-->
<li class="active"><a href="#music"><span>Music</span><img src="http://1.bp.blogspot.com/-j-I2H-F0qq8/TjD0uUM1DnI/AAAAAAAAFqU/2qNEJIWJRVU/s1600/Takezake%2B%2528sake%25D0%259C%25D0%2583%2Bin%2Ba%2Bbamboo%2Bcontainer%2529.png" alt="[music]" /></a></li>
<!--
-->
<li><a href="#photo"><span>Photo</span><img src="http://www.aplweb.co.uk/blog/js/mac-like-icon-dock-v3/img/icon-photo.png" alt="[photo]" /></a></li>
<!--
-->
<li><a href="#text"><span>Text</span><img src="http://www.aplweb.co.uk/blog/js/mac-like-icon-dock-v3/img/icon-text.png" alt="[text]" /></a></li>
<!--
-->
<li class="seperator"></li>
<!--
-->
<li><a href="#folder?src=/apps/"><span>Applications</span><img src="http://1.bp.blogspot.com/-uBMRi9rMaXE/TjD1dkfEveI/AAAAAAAAFqc/Xd-6mYwPmjc/s320/Kokedama%2B%2528moss%2Bball%2529.png" alt="[apps]" /></a></li>
<!--
-->
<li><a href="#folder?src=/pictures/"><span>Pictures</span><img src="http://3.bp.blogspot.com/-ZAlUs-yqlnQ/TjD1ooiOPnI/AAAAAAAAFqk/Eljv8cGKbH0/s320/Oshibori%2B%2528wet%2Bhand%2Btowel%2529.png" alt="[pictures]" /></a></li>
</ul>
</div>
<script>
//library
function distance(x0, y0, x1, y1) {
var xDiff = x1-x0;
var yDiff = y1-y0;
return Math.sqrt(xDiff*xDiff + yDiff*yDiff);
}
//start
var proximity = 180;
var iconSmall = 48, iconLarge = 128; //css also needs changing to compensate with size
var iconDiff = (iconLarge - iconSmall);
var mouseX, mouseY;
var dock = $("#dock");
var animating = false, redrawReady = false;
$(document.body).removeClass("no_js");
//below are methods for maintaining a constant 60fps redraw for the dock without flushing
$(document).bind("mousemove", function(e) {
if (dock.is(":visible")) {
mouseX = e.pageX;
mouseY = e.pageY;
redrawReady = true;
registerConstantCheck();
}
});
function registerConstantCheck() {
if (!animating) {
animating = true;
window.setTimeout(callCheck, 15);
}
}
function callCheck() {
sizeDockIcons();
animating = false;
if (redrawReady) {
redrawReady = false;
registerConstantCheck();
}
}
//do the maths and resize each icon
function sizeDockIcons() {
dock.find("li").each(function() {
//find the distance from the center of each icon
var centerX = $(this).offset().left + ($(this).outerWidth()/2.0);
var centerY = $(this).offset().top + ($(this).outerHeight()/2.0);
var dist = distance(centerX, centerY, mouseX, mouseY);
//determine the new sizes of the icons from the mouse distance from their centres
var newSize = (1 - Math.min(1, Math.max(0, dist/proximity))) * iconDiff + iconSmall;
$(this).find("a").css({width: newSize});
});
}
</script>![[address]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzwKmpQF9uVaveCBKRr3DnuaCV2qmbyI1AqyniJ7cT8ADsiSlMBZONJupMk9GnDa_yUm4MQf7kc65r0OELjrTdh9UAhnHbRa_bKMRR-gVA27y06spBQETAbHhstWcPYLkV_fjTIeac9Ro/s1600/Yunomi+%2528tea+cup%2529.png)
![[calendar]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXuVACY_bgTaEoeXySzuvBaWrAPy4O6-qZoFLKWKC1ZxWrCWdrNQYZX0u7q3P4iIFFahJUwMVDy8R4pTvoYNDTNEjM3-dggC0ds1R06lpFm0kRCnRXVsdk7yF_yYeUSyrg5mweXKp_yqQ/s1600/Noren+%2528short+split+curtain%2529.png)
![[music]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbzGYVhjLid5RIDiJ2d7UuTI3y-uCXdbtbVgwvd6Cgh1QoEP-rRnmB24dBe06b2lHEdp4bH3wtljYGeByDQMy4Jt9VjzhP4ihi4VFrGB79RmaEkmAhqoNxW3ICcmSERu_HVC-D0wbVEbc/s1600/Takezake+%2528sake%25D0%259C%25D0%2583+in+a+bamboo+container%2529.png)
![[apps]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3aW_Cy3KVJckTOMiKBLf62PZ8bOqcVAZ4KRY4NXcJoPdnm0UKaRpX0dTTdEH-v8KcxZl6986GXdKbmpoxXN8AOJRUcl4KWTsaSPuusCPXhvLP_IEGiJIhJXucVTs6d7aIA6Gq3xUnLqY/s320/Kokedama+%2528moss+ball%2529.png)
![[pictures]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpXZinp7PDBfVwB7epbLnopeuDrj6Fq_5NBuHf3pgNPxBbTw4K0pA92SLZFtjHa3M9xqLe_gQGCUKJVpdhJmwXcL5zMWJDI4gFctfQtNYEvATqLThsFj9LQKIbMur4zsU4q56T0mONYBk/s320/Oshibori+%2528wet+hand+towel%2529.png)
Комментариев нет:
Отправить комментарий