在调整大小时移动html元素

时间:2016-01-26 10:42:22

标签: jquery dom-manipulation appendto detach

我有一个位于DOM视口中的图标列表。 我的脚本到目前为止工作,但没有调整大小。我总是要按键盘上的F5键。

有什么问题?

    $(document).ready(function() {
        //
        // functions
        //
        // ----------------------------------------------------------------------------

        // select dom element and move to another 
        // ele = element to move, wrapper = element parant
        var moveEle = function(ele,wrapper) {
            var getContent = $(ele).contents();
            $(getContent).detach().appendTo(wrapper);
        }

        //
        // modernizr
        //
        // ----------------------------------------------------------------------------

        //** viewport check
        $(window).on( "resize", function() {

          var query = Modernizr.mq('(min-width: 992px)');
          if (query) {
                moveEle('.action-icons', '.wrap-action-links');
          } else {
                moveEle('.action-icons', '.quick-links');
          }
        }).resize();

    });

如何优化脚本?

更新:https://jsfiddle.net/3bhbcw60/2/

1 个答案:

答案 0 :(得分:1)

您可以通过matchMedia:

执行此操作
if (matchMedia) {
  var mq = window.matchMedia("(min-width: 767px)");
  mq.addListener(cld_mediaquery_changed);
  cld_mediaquery_changed(mq);
}

function cld_mediaquery_changed(mq) {
  if (mq.matches) {
    $('.lorem').detach().appendTo('.box-one')
  } else {
    $('.lorem').detach().appendTo('.box-two')
  }
}