如何根据Jquery中的屏幕大小移动绝对位置元素

时间:2014-11-21 15:46:45

标签: javascript jquery html css jquery-ui

您好我正在构建一个磁性诗歌游戏,您将文字拖到一起形成一些短语。我正在使用jqueryui draggable和droppable与绝对定位的div。

http://test-magnets.meteor.com/

我也试图让游戏尽可能地响应。冰箱右边有一堆文字,上面有一个班级"没有玩耍"一旦你放下冰箱,那课就被移除了。因此,当屏幕尺寸较小时,我只想移动具有类别"非玩耍"的磁铁。

我在想这样的事情

  $(document).ready(function() {
    var screenwidth = $(window).width()
    if (screenwidth <= 800) {
     $('magnet.not-in-play').each(function(){  
      var currentPosLeft = parseInt($(this).css('left'));
      $(this).css('left', (currentPosLeft - 1000) + 'px');
     }); 
    } 
  });

我可以在if块内部触发警报,但我尝试的任何css都无效。它在控制台中工作正常,因此我的困惑。任何建议将不胜感激。感谢

这似乎在小提琴中运作良好 http://jsfiddle.net/ff0ynexc/ 只是不在我的应用程序

-John

1 个答案:

答案 0 :(得分:0)

使用-=无效(您直接设置属性),而是执行类似

的操作
var currentPosLeft = parseInt($('.magnet.not-in-play').css('left'));
$('.magnet.not-in-play').css('left', (currentPosLeft - 600) + 'px');

(你可能必须在循环中这样做)