使用CSS和jQuery放大效果

CoolTapes

我为作为宠物项目工作的浏览器游戏创建了俯视图。

我有一个固定大小的视口div和一个内部div,其中包含我所有的地图图标元素。我正在使用jquery-ui来使内部div可拖动,但是我还希望能够通过鼠标滚轮给它一个缩放效果。

我已经进行了一些谷歌搜索,但是似乎没有解决该问题的好方法。

我尝试了这个:

$('#map').bind('DOMMouseScroll mousewheel', function(e){
  if(e.originalEvent.wheelDelta /120 > 0) {
    $("#map").css("width", "+=10");
  }
  else{
    $("#map").css("width", "-=10");
  }
});

但是它什么也没做,所以我想我没有绑定正确的事件。(是的,我正在文档(就绪)中运行该jQuery代码)

CoolTapes

弄清楚了。这是后代的代码:

$('#map').bind('mousewheel DOMMouseScroll', function(e){
  //Get the transformation matrix from the css as a string. (it's named differently for different browsers)
  var scale = $(this).css('transform');
  scale = (scale == null ? $(this).css('-webkit-transform') : scale); 
  scale = (scale == null ? $(this).css('-ms-transform') : scale);
  //once we have the matrix, the scale is the first number, so parse the string to remove it.
  scale = scale.split(" ");
  scale = parseFloat(scale[0].substring(7, scale[0].length - 1));

  //e.originalEvent tells us how the mousewheel moves. (Also different for different systems)
  e.delta = null;
  if (e.originalEvent) {
    if (e.originalEvent.wheelDelta) e.delta = e.originalEvent.wheelDelta / -40;
    if (e.originalEvent.deltaY) e.delta = e.originalEvent.deltaY;
    if (e.originalEvent.detail) e.delta = e.originalEvent.detail;
  }
  //If delta is greater than 0, we're zooming in
  if(e.delta > 0) { 
    //5x zoom is the max that I want to zoom in.
    if(scale < 5) {
      //no need to re-form the matrix. specifying a new scale value will do the job.
      scale = ('scale(' + (scale + .1).toString() + ')');
      //update the transform css for each possible browser. 
      $(this).css({'transform':scale, '-ms-transform':scale, '-webkit-transform':scale });
    }
  }
  //if delta is less than zero, we're zooming out
  else{
    //for my purposes, I don't want to zoom out farther than the original map size
    if(scale > 1) {
      scale = ('scale(' + (scale - .1).toString() + ')');
      $(this).css({'transform':scale, '-ms-transform':scale, '-webkit-transform':scale });
    }
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery和CSS的SlideUp效果

来自分类Dev

在滚动上使用CSS和jQuery创建模糊效果

来自分类Dev

使用jQuery或CSS放大过渡/动画

来自分类Dev

如何使用jquery和scale(css)放大/缩小每个div中的每个图像?

来自分类Dev

使用jquery.animate()和jquery.scroll()反转由动画效果引起的CSS更改

来自分类Dev

使用jquery.animate()和jquery.scroll()反转由动画效果引起的CSS更改

来自分类Dev

使用HTML / CSS将鼠标悬停在图像上的放大效果

来自分类Dev

使用CSS和Javascript散发圆形效果

来自分类Dev

使用HTML和CSS的按钮效果

来自分类Dev

使用CSS / JS / jQuery弯曲图像效果?

来自分类Dev

如何使用ffmpeg创建放大效果

来自分类Dev

如何使用jQuery和CSS创建图像悬停淡入淡出效果?

来自分类Dev

使用 jQuery slideDown 或 toggleClass 和 css 过渡添加向下滑动效果

来自分类Dev

使用CSS放大图像周围的<p>标签边框和背景

来自分类Dev

使用jQuery CSS放大(增加)缩小(减少)字体

来自分类Dev

jQuery的CSS悬停效果

来自分类Dev

jQuery HTML CSS效果

来自分类Dev

如何仅使用css或css + jquery构建悬停效果

来自分类Dev

jQuery / JS / CSS3动画和悬停效果

来自分类Dev

css3和jquery加载页面滑块效果

来自分类Dev

CSS调整大小/放大效果,同时保持尺寸

来自分类Dev

CSS,HTML5放大效果,img开箱即用

来自分类Dev

jQuery放大效果-先运行,然后运行其他

来自分类Dev

使用CSS或Javascript放大图像

来自分类Dev

如何使用HTML和CSS创建旋转效果?

来自分类Dev

如何使用HTML和CSS实现立方体效果

来自分类Dev

使用CSS和HTML的Streamlabs OBS的简单文本擦除效果

来自分类Dev

Windows 8悬停以使用CSS和JS滑动效果

来自分类Dev

CSS3超链接使用jQuery动画悬停效果

Related 相关文章

  1. 1

    jQuery和CSS的SlideUp效果

  2. 2

    在滚动上使用CSS和jQuery创建模糊效果

  3. 3

    使用jQuery或CSS放大过渡/动画

  4. 4

    如何使用jquery和scale(css)放大/缩小每个div中的每个图像?

  5. 5

    使用jquery.animate()和jquery.scroll()反转由动画效果引起的CSS更改

  6. 6

    使用jquery.animate()和jquery.scroll()反转由动画效果引起的CSS更改

  7. 7

    使用HTML / CSS将鼠标悬停在图像上的放大效果

  8. 8

    使用CSS和Javascript散发圆形效果

  9. 9

    使用HTML和CSS的按钮效果

  10. 10

    使用CSS / JS / jQuery弯曲图像效果?

  11. 11

    如何使用ffmpeg创建放大效果

  12. 12

    如何使用jQuery和CSS创建图像悬停淡入淡出效果?

  13. 13

    使用 jQuery slideDown 或 toggleClass 和 css 过渡添加向下滑动效果

  14. 14

    使用CSS放大图像周围的<p>标签边框和背景

  15. 15

    使用jQuery CSS放大(增加)缩小(减少)字体

  16. 16

    jQuery的CSS悬停效果

  17. 17

    jQuery HTML CSS效果

  18. 18

    如何仅使用css或css + jquery构建悬停效果

  19. 19

    jQuery / JS / CSS3动画和悬停效果

  20. 20

    css3和jquery加载页面滑块效果

  21. 21

    CSS调整大小/放大效果,同时保持尺寸

  22. 22

    CSS,HTML5放大效果,img开箱即用

  23. 23

    jQuery放大效果-先运行,然后运行其他

  24. 24

    使用CSS或Javascript放大图像

  25. 25

    如何使用HTML和CSS创建旋转效果?

  26. 26

    如何使用HTML和CSS实现立方体效果

  27. 27

    使用CSS和HTML的Streamlabs OBS的简单文本擦除效果

  28. 28

    Windows 8悬停以使用CSS和JS滑动效果

  29. 29

    CSS3超链接使用jQuery动画悬停效果

热门标签

归档