2013-06-10 2 views
0

Если бы я использовал:Обновление переполнения без удаления элементов из div?

parentNode.removeChild(divHere); 

Это делает работу и полосы прокрутки для обновления переполнения соответственно. Если я использую JS для «divHere.style.visibily =» hidden »; хорошо, что больше не работает. То, что я сделал довольно много, - создать 115 разделов, которые находятся в контейнере div, и пользователь может выбирать фильтры, чтобы показывать только изображения, которые они хотят, все div имеют фоновое изображение и по существу являются просто изображением с именем под ним.

Так что у меня 2 вопроса:

1) Есть ли способ, чтобы обновить переполнение и сделать его не принимать скрытые элементы во внимание?

2) Если 1) невозможно, чем когда я использую removeChild для удаления div из контейнера, он действительно исчезает, но что именно происходит с ним? Он исчезает с страницы, потому что он не добавлен ни к одному элементу на странице? Значит, он работает, как будто он скрыт? Мне не нужно беспокоиться о том, что люди видят изображения в каком-то совершенно странном месте в каком-то менее используемом браузере?

и хорошо 3) Если у вас есть лучший способ сделать это было бы весьма признателен

Спасибо заранее за любую помощь

+2

Почему бы просто не использовать 'display: none' вместо' visibility: hidden'? – Pevara

+1

Ничего себе удивительный ответ. Благодарим вас за то, что вы нашли еще лучшее/более простое решение. Вопрос в том, когда я хочу вернуть их, что мне тоже нужно настроить? Что такое по умолчанию? Большое вам спасибо за ваш ответ =) –

+1

по умолчанию для div - это блок, поэтому просто верните их обратно в 'display: block', чтобы они снова отображались. Должен работать нормально во всех браузерах. – Pevara

ответ

1

Метод removeChild() удаляет указанный дочерний узел указанного элемента и возвращает удаленный узел как объект Node, или null, если узел не существует. Это значение null означает, что элемент теперь удален из вашей наценки.

Вы должны использовать его, чтобы браузер не учитывал это, поскольку браузер не обнаружит этот элемент в надбавке.

Вы можете сделать это таким образом, а также:

$(document).remove(object_to_remove); 

Узнайте больше о нем: http://api.jquery.com/remove/

+0

К сожалению, я предпочитаю не использовать jQuery, но ваше объяснение все еще стоит. Я знал, что синтаксис сделал по большей части, просто беспокоился о том, что он появляется в каком-то случайном месте, если у него нет родителя. +1 за то, что нашли время ответить –

+0

Кстати, почему бы не jQuery? вам не разрешено? –

+0

Нет, это не тот случай, это мой собственный проект. Я просто не вижу цели использования библиотеки, когда родной код так же прост в использовании. Возможно, для более сложных вещей jQuery стоит того, но для небольших задач вроде этого я не вижу смысла –

1

Я считаю, что, возможно, ответ на третьей части вашего вопроса. Это большое количество div в вашем содержащем div и использовании фильтрации заставляет меня думать, что вы, возможно, захотите изучить использование плагина DataTables для jQuery (http://www.datatables.net/). Он имеет некоторые очень приятные функции для сортировки/фильтрации/и т. Д. большое количество элементов данных и поддерживает множество источников данных. Также есть плагины для плагина, если для вас недостаточно базовых функций.

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

+0

Спасибо, что нашли время, чтобы написать это. Я обязательно посмотрю на него, так как позже у меня может быть 300-400 элементов для фильтрации, поэтому определенно что-то, что может меня заинтересовать. Спасибо за информацию –

+0

@HateNames Добро пожаловать. – JAB

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