0

我有一个在桌面设备上完美运行的代码:

HTML:

<script type="text/javascript" src="http://code.jquery.com/ui/1.10.2/jquery-ui.js" />
</script><script type="text/javascript" src="my/tools/jquery.ui.touch-punch.min.js" />
<div id="time_roll">&nbsp;</div>

JS:

$('#time_roll').on('mousedown', function(e){
  x = e['clientX'];
  bgx = parseInt($('#time_roll').css('background-position-x'));
  $(window).on('mousemove', function(e){
    newx = e['clientX'];
    pos = bgx+newx-x;
    if (pos>0)       pos = 0;
    if (pos<-(24*60-1)) pos = -(24*60-1);
    $('#time_roll').css('background-position-x',pos);
    pos = -pos;
    h = parseInt(pos/60);
    m = pos%60;
    if (m.length<2) m = '0'+m;
    $('#time').val(h+':'+m);
  });
})

简短的评论:我的拖放仅在 x 轴上工作。

不幸的是,DnD 不适用于任何移动设备:(

有什么想法吗?

4

1 回答 1

0

您可能在尝试操纵该background-position-x属性时遇到问题。它不是标准属性,某些浏览器(例如 Firefox)不支持。您应该改为解析background-positionx 和 y 值,并对其进行操作。

请参阅background-position-x (background-position-y) 是标准的 W3C CSS 属性吗?

于 2013-05-23T16:40:00.510 回答