首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery - mousemove for Mobile

jQuery - mousemove for Mobile
EN

Stack Overflow用户
提问于 2016-03-02 08:15:11
回答 1查看 580关注 0票数 0

我正在尝试在移动设备上重现如下所示的相同效果。我试过使用.vmousemove,但是,div只有在我触摸并意识到的时候才会移动。我想要实现的是div能够跟随手指在屏幕上的移动。

这可以用jQuery实现吗?我也可以把鼠标放在div的中间

代码语言:javascript
复制
   $('#cont').mousemove(function(e) {

     var offs = $(this).offset(),
       p = {
         x: offs.left,
         y: offs.top
       },
       mPos = {
         x: e.pageX,
         y: e.pageY
       },
       x = mPos.x - p.x - 100,
       y = mPos.y - p.y - 100;
     $('.gray', this).css({
       left: x,
       top: y,
       backgroundPosition: -x + 'px ' + -y + 'px'
     });

   });
代码语言:javascript
复制
#cont {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
}
.gray {
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 200px;
  background: url('img/grid.png');
  opacity: 0.9;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#5defb2+0,edd92d+46,d156ea+57,7eea9b+100 */
  background: rgb(93, 239, 178);
  /* Old browsers */
  background: -moz-linear-gradient(-45deg, rgba(93, 239, 178, 1) 0%, rgba(237, 217, 45, 1) 46%, rgba(209, 86, 234, 1) 57%, rgba(126, 234, 155, 1) 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(-45deg, rgba(93, 239, 178, 1) 0%, rgba(237, 217, 45, 1) 46%, rgba(209, 86, 234, 1) 57%, rgba(126, 234, 155, 1) 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(135deg, rgba(93, 239, 178, 1) 0%, rgba(237, 217, 45, 1) 46%, rgba(209, 86, 234, 1) 57%, rgba(126, 234, 155, 1) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#5defb2', endColorstr='#7eea9b', GradientType=1);
  /* IE6-9 fallback on horizontal gradient */
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<div id="cont">
  <div class="gray"></div>

</div>

EN

回答 1

Stack Overflow用户

发布于 2016-03-02 15:01:20

代码语言:javascript
复制
 var timer;
$('#cont').mousemove(function(e) {
   timer = window.setTimeout(function() {
var offs = $(this).offset(),
       p = {
         x: offs.left,
         y: offs.top
       },
       mPos = {
         x: e.pageX,
         y: e.pageY
       },
       x = mPos.x - p.x - 100,
       y = mPos.y - p.y - 100;
     $('.gray', this).css({
       left: x,
       top: y,
       backgroundPosition: -x + 'px ' + -y + 'px'
     });
 },10000)
   return false; 
})

我不确定它是否有效,或者不仅仅是想法

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35736158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档