几年前,我参与设计开发一个房产网的项目,我负责前端工作,由于项目经理要求比较高,参考了很多房产类网站比较优秀的功能,想把别人比较优秀的设计和想法集合到一起,那时的设计稿和功能实现,简直就是改了又改,今天做好的一个很好的效果,可能第二天就要推到重来,算了,不说这些了,还是说说我们今天要讲解的案例吧,不知道大家访问过搜房网没有(完全没有做广告之嫌,搜房网,可以给点广告费不),其中有一个功能产品经理特别喜欢,那,就是下面的这个:

这是现在的效果,可能改了一些,原来的效果是,里面的这张图是可以上下左右拖动的,然后房子上面的显示的楼栋号,也跟着图片一起移动,当时js能力还不行,未能实现项目经理的要求,不过后来项目经理又把这个效果推掉了,换了另外的一个效果

尽管项目经理不想要这个效果了,但是当时就在我心里留下了一个节,到今天都忘不了这个梗。

好了,这就是我今天想写这篇博客的初衷,希望能给想实现这类拖拽效果,但是不知道该怎么去实现的同学,提供一种思路,不给青春留遗憾,当然实现拖拽的方法有很多,这里就只介绍JavaScript中的一种方法,慢慢体会一下其中的原理!

好了,梗也说完了,开始正题,我们先要明白,拖拽到底是一个什么东西,你也知道,我也知道,但是我还是想来描述一下:

拖拽就是一个容器,你用鼠标可以在页面上拖着到处跑,废话,精确的描述应该是,鼠标移到容器上,然后鼠标按下去,注意要按着不放,然后拖动鼠标,容器能跟着鼠标跑,松开鼠标,容器就停在那里不动了,现实中的例子就是桌子上有一个盒子,我用手放在盒子上,然后移动盒子,手停盒子停,手拿开,盒子不动了,嘻嘻,都懂了哈!

别以为上面说了一堆的废话,我们可以从中得到很多的信息,总结如下就是:

拖拽 = 鼠标按下 + 鼠标移动 + 鼠标弹上

这样就完成了一个拖拽任务,好了,原来这就是拖拽的原理,想实现拖拽,自然实现上面的3个动作,便可以模拟拖拽效果,好,对应JavaScript中的语法就是需要实现这3个动作:

onmousedown , onmousemove , onmouseup

实现的代码就应该是:

obj.onmousedown = function(ev){
      obj.onmousemove = function(ev){ 

      } ;
      obj.onmouseup = function(ev){
     
      };
    
}

更多相关文章

  1. PySide-QtWebKit: CSS font-family没有效果
  2. Android自定义View底部连续圆环效果
  3. Android 5.X Activity过渡动画,以及漂亮的共享元素效果
  4. Android Scroll分析(一)——滑动效果是如何产生的
  5. Android之仿美拍主要菜单滑动反弹效果
  6. 默认墨迹天气 下雪效果
  7. Android使用SVG矢量图打造酷炫动画效果
  8. Button点击缩放动画效果
  9. Android 实现多页界面左右滑动切换效果之进阶

随机推荐

  1. Android(安卓)实例教程
  2. 高焕堂
  3. Android 基于google Zxing实现二维码、条
  4. Android Camera
  5. 2011年Android产品趋势
  6. Android EditText 一些属性设置
  7. EditText的使用
  8. Android 输入法键盘和activity页面遮挡问
  9. Android 绘制中国地图及热点省份分布
  10. android 7和android8在user版本下能应用