2013-03-22 2 views
0

Итак, я знаю, что я делаю это неправильно, но я застрял, поэтому решил, что вы, ребята, можете мне помочь. Поэтому идея состоит в том, что у меня есть два контейнера. Один из них предназначен только для контента, который меньше определенной высоты, а другой для контента, который больше определенной высоты. Так вот основной набросок кода, который не будет работать, чтобы дать вам основную идею:Добавление содержимого в зависимости от высоты содержимого

$('#content').each(function(){ 
if($(this).height()>120){ 
    $('#container2').append('the content'); 
}; 
else{ 
    $('#container').append('the content'); 
}; 
}); 

Вот является jsfiddle, который показывает, что результат этого должен выглядеть следующим образом: http://jsfiddle.net/3TxR9/1/

редактировать 1: id содержимое обертывает большое количество контента, что является разницей, поэтому я хочу иметь разные контейнеры для разных высот. Таким образом, «контент» будет конкретным контентом внутри содержимого идентификатора таким образом, каждая часть контента будет оценена так, чтобы он попал в правильный контейнер. И jsfiddle, с которым я связан, НЕ является правильной кодировкой, это просто показать, что должно произойти, когда применяется правильный jquery.

+3

'$ ('# содержание') каждая (функция() {' не имеет смысла, если вы не имеете более одного элемента с идентификатором 'content', строго запрещено. –

+2

Почему у вас есть полуколоны, разделяющие ваше утверждение if/else, которое сломает что-нибудь, и один взгляд на ваш jsFiddle отображает несколько экземпляров содержимого id = "... ... вы хотите' class = "content" , так как 'id' является уникальным атрибутом – PlantTheIdea

+0

Что должно быть« содержимым », которое вы добавляете для каждого элемента' # content'? –

ответ

0

Я думаю, что вы просто делаете вещи немного сложнее на себе, чем вам нужно, поскольку .height() in jQuery даст вы вычисляете высоту любого элемента, который хотите.

Затем, когда вы работаете с вашими элементами, вы можете использовать .height() для сортируемого элемента и, если он превышает определенную высоту, добавьте его в один квадрат, а если нет, добавьте его в другой.

+0

Я набрал ширину, но я хотел набрать высоту. Так почему бы мне не работать для меня, если у меня вообще есть то, что у меня есть, если это единственное, что нужно было бы изменить, поскольку это была просто опечатка? –

+0

Ну, попробуйте это с одной стороны, чтобы начать с - убить каждую() функцию и просто запустить if на одном отдельном поле. Кроме того, попробуйте распечатать/зарегистрировать результат функции height(), как если бы этот предмет не был загружен или не был видимым, он не может сообщить высоту, которая, по вашему мнению, должна. Если он сообщает 0 высоту, и вы думаете, что это не так, он сделает это, если не загружен, и это решение будет здесь: http://stackoverflow.com/questions/3761061/get-height-of-image-inside -a-hidden-div – BrianHall

+0

Эй, все хорошо работает с этим, но проблема, о которой вы говорили, может возникнуть, и предоставленное решение не закончилось работой –

0
$(document).ready(function(){ 
    $(".content").each(function(){ 
     if($(this).height() > 100) 
     { 
      $(this).appendTo("#container"); 
      $(this).show(); 
     } else { 
      $(this).appendTo("#container2"); 
      $(this).show(); 
     } 
    }); 
}); 

Демо: http://jsfiddle.net/calder12/3TxR9/4/

Смежные вопросы