Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.04.2012, 02:51
Новичок на форуме
Отправить личное сообщение для AkimovNY Посмотреть профиль Найти все сообщения от AkimovNY
 
Регистрация: 30.04.2012
Сообщений: 4

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

В общем, например, как на ozon.ru на главной странице блок "Другие пользователи сейчас смотрят"
Ответить с цитированием
  #2 (permalink)  
Старый 30.04.2012, 04:10
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Вы просите готовый скрипт с нуля.

Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума "Работа".

Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #3 (permalink)  
Старый 30.04.2012, 13:49
Новичок на форуме
Отправить личное сообщение для AkimovNY Посмотреть профиль Найти все сообщения от AkimovNY
 
Регистрация: 30.04.2012
Сообщений: 4

Нет, не надо готовый скрипт, мне интересно как это реализовано на теории, сделаю я сам, подскажите в какую сторону копать..
Ответить с цитированием
  #4 (permalink)  
Старый 01.05.2012, 00:07
Интересующийся
Отправить личное сообщение для maxmaster Посмотреть профиль Найти все сообщения от maxmaster
 
Регистрация: 25.02.2012
Сообщений: 10

На ozone это реализовано через CSS, там даже скрипт не нужен... Не проверял, но догадываюсь что именно так
Ответить с цитированием
  #5 (permalink)  
Старый 01.05.2012, 18:10
Новичок на форуме
Отправить личное сообщение для AkimovNY Посмотреть профиль Найти все сообщения от AkimovNY
 
Регистрация: 30.04.2012
Сообщений: 4

на css разве можно менять ширину блока при растягивании, сужении страницы?
Ответить с цитированием
  #6 (permalink)  
Старый 04.05.2012, 01:04
Новичок на форуме
Отправить личное сообщение для AkimovNY Посмотреть профиль Найти все сообщения от AkimovNY
 
Регистрация: 30.04.2012
Сообщений: 4

вот сделал, но как то немного тормозит, можно ли это оптимизировать?

$(window).resize(function() {
	    blockResize(".catalog_leader", ".catalog_item_card");
	})

function blockResize(blockName, itemName) {
	if ($(blockName).width() < 800) {					//3 товара
	    $(blockName + " " + itemName).css("width", "33.3%");
	    $(blockName + " " + itemName).slice(3,6).hide();
	}
	if ($(blockName).width() < 1000 && $(blockName).width() >= 800) {	//4 товаров
	    $(blockName + " " + itemName).css("width", "25%");
	    $(blockName + " " + itemName).slice(4,6).hide();
	    $(blockName + " " + itemName).slice(3,4).show();
	}
	if ($(blockName).width() < 1200 && $(blockName).width() >= 1000) {	//5 товаров
	    $(blockName + " " + itemName).css("width", "20%");
	    $(blockName + " " + itemName).slice(5,6).hide();
	    $(blockName + " " + itemName).slice(3,5).show();
	}
	if ($(blockName).width() >= 1200) {					//6 товаров
	    $(blockName + " " + itemName).css("width", "16.6%");
	    $(blockName + " " + itemName).slice(3,6).show();
	}
    }
Ответить с цитированием
  #7 (permalink)  
Старый 04.05.2012, 11:02
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

Может тебе поможет мое чудовище.
Ширина пунктов меню равная .При размере браузера менее 400рх 3 блока убираются.Можно сделать постепенное скрытие по одному блоку
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
  <style type="text/css">
                * {
                        margin: 0;
                        padding: 0;
                        font: 11px "Trebuchet MS", Verdana, Tahoma, sans-serif;
                }
                
                ul {
                        list-style: none;
                        text-align: justify;
                        text-justify: newspaper;
                        line-height: 0;
                }
                
                li {
                       
                        display: inline-block;
                        vertical-align:top;
                        text-align: center;
                        background: red;
                }
                
                li.helper {
                        width: 100%;
                        background: none;
                }
				
        </style>
  <!--[if lte IE 7]>
                <style type="text/css">
                        ul {
                                width: 99.9%;
                                text-align-last: justify;
                        }
                        
                        li {
                                display: inline;
                        }
                        
                        li.helper {
                                display: none;
                        }
                </style>
        <![endif]-->

</head>

<body>
 <ul>
                <li>home</li>
                <li>about us</li>
                <li>contacts</li>
                  <li>home</li>
                <li>about us</li>
                <li>contacts</li>
                <li> link</li>
                <li class="helper"></li>
        </ul>
<script>

function handler(){
ul=document.getElementsByTagName('ul')[0]
if(document.body.clientWidth<400){
	ul.getElementsByTagName('li')[6].style.display='none'
	ul.getElementsByTagName('li')[5].style.display='none'
	ul.getElementsByTagName('li')[4].style.display='none'
}else{
		ul.getElementsByTagName('li')[6].style.display=''
	ul.getElementsByTagName('li')[5].style.display=''
	ul.getElementsByTagName('li')[4].style.display=''
	
}
}
if(window.addEventListener){
window.addEventListener('resize',handler,false)
}
else{
	
	window.attachEvent('onresize',handler)
	}
</script>
</body>
</html>


Работает везде даже в ишаке

Последний раз редактировалось bot87, 04.05.2012 в 11:07.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Сгенерировать 2 последовательности и узнать сколько в них одинаковых элементов Ирина Владимировна Общие вопросы Javascript 10 24.03.2012 18:18
Перекрытие элементов (Sandr) Общие вопросы Javascript 7 25.01.2012 11:02
Удаление элементов через splice. возможно ли оптимизировать? Storan Общие вопросы Javascript 0 01.10.2011 21:16
Суммирование значений всех элементов div frolvict jQuery 1 11.07.2011 17:05