`

事件监测,顺便说一下超级牛逼的CSS平滑效果【转】

 
阅读更多

以前我们会用mouseover|mouseout事件来暗挫挫的实现hover效果,而现在用CSS伪选择器的:hover:focus什么的就直接搞定了。想到这里,内心止不住的伤感啊……魔法师们坚持住!咳咳,当然,CSS也并不是万能的,有些事情还是要跟事件配合完成,比如下面这个例子,对鼠标指针进行定位。这是相当简单的了是不,我们先搞个绝对定位的小球元素,下面是它的HTML:

<div class="plot"></div>

这是它的CSS:

.plot {
  position:absolute;
  background:rgb(175,50,50);
  width: 20px;
  height: 20px;
  border-radius: 20px;
  display: block;
  top:0;
  left:0;
}

我们监听并处理doucment的click事件,利用PageXpageY对小球进行定位。注意啊这里,我们需要减去球的半径,以让球的中心在鼠标指针上:

var plot = document.querySelector('.plot'),
    offset = plot.offsetWidth / 2;
document.addEventListener('click', function(ev) {
  plot.style.left = (ev.pageX - offset) + 'px';
  plot.style.top = (ev.pageY - offset) + 'px';
}, false);

随便点击屏幕的任意位置,小球都会随之闪现到那。不过它并不是平滑过去的,但如果你勾选这个示例的复选框,你会发现小球就会很圆润的滑过来了。这个效果呢,过去的话可能只能用JS库来完成,但现在啊,时代不同了……我们只需要用CSS写个过渡效果的类,而剩下的事情就让浏览器去处理。为至于此,我们写个类名为smooth的样式,在复选框被选中之后,将其应用到小球上:

.smooth {
  -webkit-transition: 0.5s;
     -moz-transition: 0.5s;
      -ms-transition: 0.5s;
       -o-transition: 0.5s;
          transition: 0.5s;
}

添加JavaScript:

var cb = document.querySelector('input[type=checkbox]');
cb.addEventListener('click', function(ev) {
  plot.classList.toggle('smooth');
}, false);

随着新世界的来临,CSS和JavaScript双剑合璧,谁与争锋!嘛顺便说下,在JS中也有跟CSS过渡和动画效果有关的事件噢。

分享到:
评论

相关推荐

    css3实现平滑过渡效果

    在CSS3中,平滑过渡效果是通过使用`transition`属性来实现的,它使得元素在改变状态时能够平滑地从一个样式过渡到另一个样式,而不是立即改变。这一特性极大地提升了网页动态效果的用户体验,使得网站看起来更加现代...

    jquery+css3 3D旋转效果

    例如,当鼠标悬停在元素上时,jQuery可以监听`mouseover`和`mouseout`事件,然后通过修改CSS3的`transform`属性来启动或停止旋转效果。CSS3的`transform-style: preserve-3d;`属性能保持子元素的3D空间位置,这对于...

    CSS平滑过渡页面

    同时,`js`文件通常包含事件监听器,用于响应用户的交互并触发相应的CSS3过渡效果。 总之,CSS平滑过渡是提升网页交互性和视觉吸引力的关键技术之一。通过理解并熟练运用这一特性,开发者可以创造出更具吸引力和...

    jquery图片平滑效果

    总结来说,jQuery图片平滑效果的实现涉及了jQuery的选择、事件、动画、定时器和可能的插件使用。通过合理地组合这些元素,我们可以创造出各种吸引人的图片展示效果,提升网站的视觉质量和用户体验。在实际应用中,还...

    Arctext弧形文字效果插件(CSS3&amp;jQuery)

    4. 应用动画效果:通过CSS3动画或jQuery的animate方法,使文字元素沿预设路径平滑移动和旋转。 5. 整合并测试:将所有代码整合到项目中,进行调试和优化,确保在不同浏览器和设备上表现一致。 通过这个插件,开发者...

    10种使用css3的画廊图片切换3d翻转效果

    总的来说,"10种使用CSS3的画廊图片切换3d翻转效果"是一个展示CSS3强大功能和创新潜力的实例。通过深入研究这些示例,开发者不仅可以学习到如何创建动态的图片展示,还可以进一步提升自己在CSS3和网页交互设计方面的...

    6种CSS3平滑过渡的渐变背景颜色

    在"6种CSS3平滑过渡的渐变背景颜色"示例中,可能包含了不同的过渡效果,例如根据鼠标悬停或点击事件改变背景颜色。`index.html`文件可能是这个示例的主页面,展示不同渐变效果的应用。`readme.html`可能包含有关代码...

    CSS3和Html5实现超级炫酷的风水罗盘效果

    本主题将深入探讨如何利用这两个技术实现一个超级炫酷的风水罗盘效果。 首先,HTML5是基础,用于构建网页的结构。在创建风水罗盘效果时,我们需要定义一个容器元素,如`&lt;div&gt;`,来承载罗盘的整体结构。此外,可以...

    css3-弹出窗口弹出效果

    在IT领域,CSS3是一种强大的样式表语言,用于定义网页的布局、颜色、字体等视觉效果。本主题聚焦于“css3-弹出窗口弹出效果”,这涉及到网页交互设计中的一个重要方面,即如何通过CSS3实现吸引用户的动态提示或信息...

    带平滑效果的js返回顶部特效.zip

    总的来说,“带平滑效果的js返回顶部特效”是一个实用且易于实现的网页优化技巧,它不仅能提升网站的专业感,还能增强用户的交互体验。理解和掌握这一技术,对于前端开发者来说,无疑能提升其在网页设计和用户体验...

    css广告特效(电视背投效果图片切换)

    总结来说,CSS广告特效中的电视背投效果是一种利用CSS3特性实现的动态图片切换效果,它可以提升网页的视觉体验。通过理解和实践这种效果,开发者可以增强其网页设计能力,创造出更具吸引力的用户体验。

    基于CSS3的网页平滑滚动过渡动画效果代码.zip

    "基于CSS3的网页平滑滚动过渡动画效果代码.zip" 提供了一种实现这种效果的解决方案,主要利用了CSS3的新特性,包括但不限于`transform`、`transition`、`requestAnimationFrame`等。以下是对这些知识点的详细讲解: ...

    纯CSS3实现超级炫酷3D效果源码下载

    【纯CSS3实现超级炫酷3D效果源码下载】是一个引人入胜的主题,它展示了CSS3在现代网页设计中的强大潜力。CSS3是层叠样式表的第三版,相较于之前的版本,它引入了许多新的特性和功能,尤其是3D变换和动画效果,让网页...

    css+js 大麦网图片翻转效果

    总的来说,"CSS+JS 大麦网图片翻转效果"是一种结合了CSS3变换和JavaScript事件处理的交互式设计,通过巧妙地应用这些技术,可以为网站增添生动有趣的动态元素,提高用户的参与度和满意度。在实际开发中,可以根据...

    事项div样式的平滑拖拽效果

    在网页设计中,实现"事项div样式的平滑拖拽效果"是一项常见且重要的技能,它为用户提供了直观且友好的交互体验。这种效果通常应用于各种界面元素,如任务列表、日历事件或者画布上的可移动对象。下面将详细探讨如何...

    jQuery+css3实现的旋转切换的幻灯效果

    "jQuery+CSS3实现的旋转切换的幻灯效果"是一种常见的网页交互元素,它通常用于网站的首页或者产品展示区域,通过自动轮播图片或内容来呈现信息。下面我们将深入探讨这个主题,解析其背后的实现原理和关键技术。 ...

    纯css 应用使得网站各个模块切换 平滑过渡

    标题中的“纯CSS应用使得网站各个模块切换平滑过渡”主要指的是使用CSS技术来实现网页中不同内容区域或模块之间的平滑、流畅的过渡效果。这通常涉及到CSS3的过渡(transition)和动画(animation)属性,它们为网页...

    CSS3实现平滑切换

    在网页设计中,CSS3(层叠样式表第三版)为开发者提供了许多强大的新特性,其中之一就是实现平滑切换效果的能力。平滑切换是提升用户体验的关键因素,它可以使页面元素在不同状态之间过渡时看起来更加流畅和自然。...

    7种CSS3鼠标hover图片效果.zip

    1. **平滑过渡效果**:利用CSS3的transition属性,可以在鼠标悬停时实现元素属性的平滑变化,例如图片的渐变颜色或大小调整。 2. **旋转效果**:使用transform属性的rotate函数,可以实现图片在hover时进行旋转,...

Global site tag (gtag.js) - Google Analytics