基于JQuery模仿苹果桌面的Dock效果(初级版)_javascript技巧

新的一天新的开始,今天要分享的是用JQuery模仿苹果操作系统桌面的Dock效果,之所以称之为初级版,是因为其中还有一些bug,显示效果并不稳定。由于时间的关系,这些bug还没有修复,希望高手们不吝赐教,提出更好的意见,希望可以做出更好的版本分享给大家。

这是静态的效果图,好吧,看上去还想模像样

下面是HTML页面的代码:

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JQueryProject1</title>
<meta name="author" content="Frank_Ren" />
<link type="text/css" rel="stylesheet" href="css/myCSS.css" />
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<script type="text/javascript" language="JavaScript" src="js/myJSFile.js"></script>
<!-- Date: 2012-09-17 -->
</head>
<body>
<div id="topBody" align="center">
<p id="topMenu" align="center">
<img alt="Home" src="images/home.png" />
<img alt="Music" src="images/music.png" />
<img alt="Calendar" src="images/calendar.png" />
<img alt="Email" src="images/email.png" />
<img alt="Portfolio" src="images/portfolio.png" />
<img alt="Video" src="images/video.png" />
<img alt="Link" src="images/link.png" />
<img alt="History" src="images/history.png" />
<img alt="RSS" src="images/rss.png" />
</p>
</div>
</body>
</html>

没有CSS装饰的页面那叫一个惨不忍睹,所以使用适当的CSS进行装饰是必不可少的

复制代码 代码如下:

#topBody{
height: 300px;
}
#topMenu{
height: 256px;
line-height: 256px;
}
#topMenu img{
height: 50px;
width: 50px;
}

才毕业几个月,解方程都忘记了,所以当鼠标移动时图标的放大算法让我很头疼啊,这里给出的算法只是个人想法,仅供参考,希望各位高手提出更好的算法。而且这里只考虑了鼠标在水平位置移动时的算法,还没有加入鼠标垂直移动式的算法。

复制代码 代码如下:

$(function(){
$("#topBody").mousemove(function(e){
var mouseX = parseInt(e.pageX);
$("#topMenu img").each(function(){
var obj = $(this);
var objWidth = obj.css("width");
//获取图片中心水平坐标
var objX = parseInt(obj.offset().left) + parseInt(objWidth.substr(0,objWidth.length-2))/2;
var x = Math.abs(objX-mouseX);
if(x<75 && x>-75){
obj.css("width",(128-((78*x*x)/(75*75)))+"px");
obj.css("height",(128-((78*x*x)/(75*75)))+"px");
}
});
});
});

说说JQuery获取鼠标的方法,当执行mousemove(function(e){})这个方法是,方法的参数e提供了e.pageX获取水平坐标、e.pageY获取垂直坐标,同时也可以使用var x = e.originalEvent.x || e.originalEvent.layerX || 0;获取鼠标的水平位置、同样可以用 var y = e.originalEvent.y || e.originalEvent.layerY || 0;获取鼠标的垂直位置。

 

当鼠标移动速度比较慢时显示效果还可以接受,不过当鼠标快速移动时时图标是放大了,不过相应的bug也出来了。

恳请各位走过路过的高手、大神们,提出宝贵的修改意见及更好的算法,谢谢观赏。

时间: 2024-12-01 13:16:54

基于JQuery模仿苹果桌面的Dock效果(初级版)_javascript技巧的相关文章

基于jQuery的图片不完全按比例自动缩小_javascript技巧

举例来说 第一种情况:如图片大小为 600×350,显示区域大小为 200×140,如果图片根据目标宽度(200)按比例缩放后大小变成 116,那么显示在 200×140 就会很难看.如下图左 第二种情况:刚好相反,如图片大小为400×400,显示区域同样是200×140,如果图片根据目标高度(140)按比例缩放后大小变成 140,即 140×140,同样难看.如下图右    这时用 jQuery 获取图片大小再判断处理一下就稍微好点:如第一种情况按140高度算出宽度 140×600/350=2

javascript实现tabs选项卡切换效果(扩展版)_javascript技巧

前段时间写了个tabs 选项卡切换效果,今天抽空在原有的基础上进行了扩展,加入了自动轮播,这样就变成了类似图片轮播的效果了. html 代码: 复制代码 代码如下: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>js-tabs</title> <link rel="styleshe

基于Jquery实现焦点图淡出淡入效果_jquery

本文实例讲述了基于Jquery实现焦点图淡出淡入效果代码.分享给大家供大家参考.具体如下: 这个容器用了百分比宽度,图片始终保持居中处理,定宽或者自适应宽度都是可以的. 兼容到IE6+以上浏览器,有淡出淡入速度和切换间隔两个参数可以改. 运行效果截图如下: 具体代码如下: Html代码如下: <!doctype html> <html lang="zh-CN"> <head> <meta charset="utf-8">

基于jQuery实现在线选座之高铁版_jquery

效果图展示: 查看演示  源码下载 除了电影院在线选座,我们还会接触到飞机机舱选座,当然也有汽车票火车票选座的.假如有一天买火车票也提供在线选座,那么今天我来给大家介绍下如何使用jQuery选座插件完成高铁列车座位布置.选座.不同等级座位计价等操作. HTML 和上一篇文章一样:jQuery在线选座订座(影院篇),我们使用相同的html结构,左侧显示位置布局图,右侧显示选座相关信息. 相关CSS代码请下载DEMO源码查看,本文不再详述. <div class="container"

基于JQuery的模拟苹果桌面Dock效果(稳定版)_jquery

已经迫不及待的想要将我的最新成果分享给大家了,其实代码和之前的版本很相似. 首相是HTML页面代码: 复制代码 代码如下: <!DOCTYPE html> <html lang="zh-cmn-Hans-CN"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>jQuery

基于jquery 完美的弹出层效果实例

一,基于jquery弹出层实例 先看实例  代码如下 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &l

基于jQuery实现多层次的手风琴效果附源码_jquery

基于jQuery多层次的手风琴是一款经过美化的多级多层次手风琴特效代码.效果图如下:   在线预览    源码下载 html代码: <aside class="accordion"> <h>News</h> <div class="opened-for-codepen"> <h>News Item #</h> <div class="opened-for-codepen"

基于jQuery滑动杆实现购买日期选择效果_jquery

这是一款基于jQuery的滑动杆购买日期选择插件,它的外观仿的是阿里云的服务器购买日期选择界面.这款jQuery插件非常适合在一些虚拟产品购买页面上使用,它可以帮助你的用户快速选择产品的购买日期,十分方便.效果图如下: 在线预览    源码下载 html代码: <center> <div class="slider-date" id="slider-date-"> <!--底层--> <ul class="slid

基于JQuery模拟的FLASH导航动画效果实现代码

这个分上下两个部分,上面是大分类,下面是二级分类,动画是一个向上,一个向下,动画利用JQuery中的animate可以做到,鼠标的移上和移出就是一个hover的事件进行触发,基本涉及的就主要是这两个函数了,其他的一些小地方就在实际的过程中进行细节调整就可以了. 于是就有了下面基于JQuery的核心脚本(这个代码有点长,其实没什么特别的地方,和我们平常写的基本一样,HTML和CSS请到DEMO页中查看,因有使用图片就不贴出来了) 核心代码如下  代码如下 复制代码 $("#nav>li>