2015-03-16 3 views
1

Я пытаюсь переместить #project-right-content прямо под h1.entry-title как на размер, так и на загрузку. Пока это работает только при изменении размера. Почему он не работает при загрузке?Перемещение элементов DOM при изменении размера и нагрузке. Работает только при изменении размера

$(window).on('resize load', function() { 

    if ($(window).width() < 934) { 
     $('#project-right-content').insertAfter('#project-left-content .entry-title'); 
    } else { 
     $('#project-right-content').insertAfter('#project-left-content'); 
    } 

}); 

Вот HTML для того, что я пытаюсь сделать:

<div id="project-wrapper> 
    <div id="project-container"> 
     <div class="post-container"> 
      <div id="project-left-content"> 
       <h1 class="entry-title">Title</h1> <--- after this line | 
       <p>Description goes here.</p>       | 
      </div>              | 
      <div id="project-right-content">  <-- THIS should be moved 
       <div id="slider"> 
        <div id="slides"> 
         <!-- Slide goes here --> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 
+0

Вы могли бы просто написать функцию для нагрузки и просто вызвать его внутри $ (документ) .ready(). – IGRACH

+0

Вы пытались запустить свой пример изолированным? Потому что у меня есть и работает ... –

ответ

0

Объект window не огнь load события.

Одним из вариантов было бы цепочке .resize() methodпосле слушателя событий для того, чтобы спровоцировать resize событие, когда страница загружена.

Example Here

$(window).on('resize', function() { 
    if ($(window).width() < 934) { 
     $('#project-right-content').insertAfter('#project-left-content .entry-title'); 
    } else { 
     $('#project-right-content').insertAfter('#project-left-content'); 
    } 
}).resize(); // <-- added 
+0

Я попытался реализовать это, но никаких изменений не произошло. Он по-прежнему не перемещает элементы при загрузке, только при изменении размера. – J82

+0

Все еще не работает, к сожалению. Он уже был завершен в готовом обработчике DOM. – J82

+0

@ J82 Это интересно. Он работает в приведенном мной примере. Я не уверен, почему это не будет работать в вашем случае. Любые ошибки в консоли? –

0

Как я грустно в ответ попробовать это:

jQuery(document).ready(function($) { 

    function resize() { 
    if ($(window).width() < 934) { 
     $('#project-right-content').insertAfter('#project-left-content .entry-title'); 
    } else { 
     $('#project-right-content').insertAfter('#project-left-content'); 
    } 
    } 

    resize(); 

    $(window).on('resize', resize); 

});