【问题标题】:Move html elements on resize在调整大小时移动 html 元素
【发布时间】:2016-05-02 21:44:10
【问题描述】:

我有一个位于 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/

【问题讨论】:

  • 请尝试解决您的问题..

标签: jquery dom-manipulation appendto detach


【解决方案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')
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    • 2017-07-30
    相关资源
    最近更新 更多