`
wjboy49
  • 浏览: 284653 次
  • 性别: Icon_minigender_1
  • 来自: 湖南岳阳
社区版块
存档分类
最新评论

仿Google的一个鼠标拖动效果

阅读更多

仿Google的一个鼠标拖动效果.

在 igoogle 的娱乐频道栏目里,有一个非常酷的效果,它能通过鼠标的拖动 来控制 视频显示区域 的滚动 。
截图:

1,基本布局

我们在网页中加入 40 个 li 元素,同时不限制 ul 的高度。
显示效果如下:
http://www.cssrain.cn/demo/igooglevideo/demo1.html

2,将多余的加入滚动条

这步非常简单,只需要通过height: 400px; overflow: auto; 2个css属性,即可对列表加入滚动条。
具体代码可以看Demo2:
http://www.cssrain.cn/demo/igooglevideo/demo2.html

3,如何控制滚动条滚动呢?

通过JavaScript的对象有一个属性:scrollTop。它能控制滚动条距对象上边的距离。它不仅能被获取,也能被设置。
需要注意的是:scrollTop 这个属性总是非负数,尽管它可以设成负数,但是对于小于0的数,它会自动设置成0。如果大于自身的最大scrollTop高度,那么将设置为最大的scrollTop值。
代码如下:

var obj = $("#scroll")[0]; //Dom对象
$("#down").click(function(){
obj.scrollTop += 200;
});
$("#up").click(function(){
obj.scrollTop -= 200;
});

具体代码可以也可以看Demo3:
http://www.cssrain.cn/demo/igooglevideo/demo3.html

 

4,如何加入动画?

Demo3中已经实现了控制scrollTop,那么改成动画就非常简单了。只需要换成 jquery的 animate 方式即可。
请看Demo4:
http://www.cssrain.cn/demo/igooglevideo/demo4.html

5,通过鼠标拖动来控制滚动

通过鼠标拖动来控制Div滚动,我们需要注意有3个状态:mousedown,mouseup,mouseleave。其中mousedown里包含 mousemove。 mousedown的时候,记录初始化位置,同时启动mousemove,在movesemove里 计算 每次滑动的距离,即时滚动。 mouseup和mouseleave 都是用来解除mousemove的事件。当然,最重要的就是 mousemove 这个 事件了。
另外要注意一个属性,e.pageX来获取鼠标点击的绝对位置。
请看Demo5:
http://www.cssrain.cn/demo/igooglevideo/demo5.html

6,改成动画滚动模式

和前面一样,只需要把控制scrollTop的方式 换成 jquery的 animate 方式即可。
需要注意的是,动画模式要清除动画。.stop(true, false).
请看Demo6:
http://www.cssrain.cn/demo/igooglevideo/demo6.html

7,最终效果

把滚动条去掉,把overflow:auto -- > overflow:hidden;即可达到效果, 但直接改css这个并不太好。为什么?当用户禁用javascript的时,那么截断的部分将无法显示。所以我们仍保持css中的overflow为 auto,通过js来重新设置overflow为 hidden;当用户启用js的时候,才设置为hidden。禁用js的时候,那么列表将会出现默认的滚动条,保证了可用性。
请看Demo7:
http://www.cssrain.cn/demo/igooglevideo/demo7.html

本例下载:
http://www.cssrain.cn/demo/igooglevideo/igooglevideo.rar

分享到:
评论

相关推荐

    jQuery实现仿Google首页拖动效果的方法

    jQuery实现仿Google首页拖动效果涉及的主要知识点包括: 1. jQuery基础: jQuery是一个快速、简洁的JavaScript库,它通过简化HTML文档遍历、事件处理、动画和Ajax交互,使Web开发变得更加方便。实现拖动效果,重点...

    仿Google小工具jQuery拖动特效.zip

    【标题】"仿Google小工具jQuery拖动特效.zip"是一个基于jQuery库的代码资源,它旨在实现类似Google小工具的可拖动效果。这个小工具主要用于创建交互式的、用户可以自由调整位置的界面元素,提升网页的用户体验。通过...

    仿google首页拖动的一个很完美的例子

    这个"仿google首页拖动的一个很完美的例子"就是一个很好的实践,它实现了类似Google首页的可拖动、最小化和关闭的功能,同时在IE和Firefox两大主流浏览器上都表现良好,这意味着它考虑了浏览器兼容性问题。...

    仿Google小工具jQuery拖动特效适用于用户自定义拖动层布局.zip

    这个压缩包"仿Google小工具jQuery拖动特效适用于用户自定义拖动层布局.zip"显然是一个前端开发资源,它提供了实现类似Google小工具的拖动效果的jQuery插件。下面我们将深入探讨jQuery、拖动特效以及用户自定义布局等...

    仿igoogle拖动效果

    【标题】"仿igoogle拖动效果"是一个项目,旨在模仿谷歌个性化主页igoogle的交互体验,特别是其拖放功能。这个项目的核心在于实现用户可以自由调整页面元素位置的动态界面,提供高度自定义的用户体验。 【描述】提供...

    仿google的可托划效果

    这种效果常见于各种网页应用中,例如谷歌地图,允许用户通过鼠标或触摸设备轻松拖动内容区域。 在 ASP.NET 开发中,可以使用 AJAX 技术来实现这种效果。AjaxControlToolkit 是一个非常实用的库,提供了多种控件来...

    仿google自定义拖拽布局(jQuery)

    本教程将聚焦于一个特定的主题:“仿google自定义拖拽布局”。这种布局技术允许用户通过鼠标拖动来调整元素的位置,从而实现高度互动和个性化的界面设计。 首先,我们要理解“拖拽”(Drag and Drop)功能的基本...

    Jquery拖动窗格(仿igoogle)

    总之,"Jquery拖动窗格(仿igoogle)"是一个实用的Web开发小工具,它涉及到jQuery基础、事件处理、拖动效果、响应式设计等多个方面,对于想要提升Web前端技能的开发者来说,是一个很好的学习案例。通过深入研究和实践...

    仿google个性化首页模块拖拽效果

    本案例“仿google个性化首页模块拖拽效果”旨在实现一种类似Google首页的功能模块,即允许用户通过鼠标拖拽的方式自由调整页面上的各个模块位置,从而达到个性化布局的目的。这种功能不仅提高了用户体验,还增加了...

    仿Igoogle拖动DIV

    【标题】"仿Igoogle拖动DIV"是一个关于JavaScript实现的网页元素拖放功能的实践项目,灵感来源于谷歌个性化主页iGoogle。iGoogle允许用户自定义页面布局,通过拖动各个小部件(div)来调整它们的位置。在这个项目中...

    DIV可拖动,可改造为仿igoogle效果实例

    在本文中,我们将深入探讨如何使用JavaScript实现一个可拖动的DIV元素,以此来创建一个类似于iGoogle的效果。iGoogle是Google提供的一款个性化主页服务,允许用户自定义页面布局,添加各种小工具。通过理解其核心...

    类似谷歌地图 web地图 图片拖动 百度地图 网页地图效果 MyMaps.rar

    5. **图片拖动技术**:实现地图图片的拖动效果,需要监听用户的鼠标事件,然后更新地图的中心坐标,确保地图视图跟随鼠标移动。 6. **缩放功能**:地图的缩放功能依赖于瓦片系统,当用户缩放时,会自动加载不同级别...

    jQuery 仿iGoogle视频的列表拖动缓冲特效.zip

    在本项目中,“jQuery 仿iGoogle视频的列表拖动缓冲特效.zip”是一个包含使用jQuery实现的类似iGoogle视频列表的动态拖动和缓冲效果的压缩包。这个压缩包主要针对那些希望为自己的网站或应用添加类似iGoogle个性化...

    avalon js实现仿google plus图片多张拖动排序附源码下载.docx

    在本文中,我们将探讨如何使用 Avalon.js 实现一个仿 Google Plus 的图片多张拖动排序功能,并提供源码下载。Avalon.js 是一个基于 Microsoft Knockout.js 的轻量级、高性能的 MVVM 框架,适用于构建前端单页应用。...

    仿IGoogle可以拖动DIV

    在描述中提到,“以前看各种资料并经过修改的可拖动、可保存、仿Google的DIV”,这表明这个项目是基于已有的教程或代码示例进行改造的,不仅实现了DIV的拖动,还添加了保存布局的功能。这意味着用户可以保存他们...

    仿google页面拖拽

    这个项目可能是为了实现一个类似Google搜索结果页面的可拖动布局,让用户可以通过鼠标拖动来改变页面元素的位置,提供更加个性化的浏览体验。 在实现这种功能时,首先我们需要理解HTML5的`dragstart`、`drag`、`...

    仿igoogle拖动框

    【标题】"仿igoogle拖动框"是一个关于前端开发的项目,主要目的是实现类似Google iGoogle页面的可拖动小部件功能。iGoogle是Google提供的一种个性化首页服务,允许用户自定义页面布局,添加各种小工具,如天气预报、...

    仿 igoogle 拖动

    通过以上步骤,我们可以创建一个仿iGoogle首页拖动的JS插件,让网页具备类似的交互体验。这个技术不仅限于模仿iGoogle,还可以应用到其他需要拖放功能的网页应用中,如个人面板、项目管理工具等。学习和掌握这一技术...

Global site tag (gtag.js) - Google Analytics