Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.10.2016, 09:19
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

Задать размер списка Jquery
Всем доброго времени суток.

Суть вопроса такова. Есть список:

<section>
	<nav>
		<ul>
			<li>
                                     //.....какой то контент
			</li>
			<li>
                                     //.....какой то контент
			</li>
			<li>
                                     //.....какой то контент
			</li>
			<li>
                               //.....какой то контент
			</li>
		</ul>
	</nav>
</section>

Нужно li сделать равной ширине окна браузера, а ul получается равным все li * кол-во li.
Скрипт:
slider_size();

	function slider_size() {
		
		var container = $("nav");
								
		container.each(function() {

			var $this = $(this),
				win = $this.closest("section"),
				winWidth =  win.width(),
				list = $this.find("ul"),
				item = list.find("li"),
				itemLength = item.length;

			item.width(winWidth);
			list.width(winWidth * item.length);
			
		});	

	}

Собственно все работает, только li присваивается значение ширины окна - размер скроллбара!!! Как это исправить, подскажите????

Заранее благодарю
Ответить с цитированием
  #2 (permalink)  
Старый 31.10.2016, 09:21
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Роман Андреевич
Нужно li сделать равной ширине окна браузера
Каждый элемент такого размера?
Ответить с цитированием
  #3 (permalink)  
Старый 31.10.2016, 09:27
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

Все верно, каждый li должен быть равным ширине окна, через css им присвоен float:left соответственно осталось задать ширину ul, он равна li.width()*li.length.

к ширине li почему то добавляется ширина скролл бара
Ответить с цитированием
  #4 (permalink)  
Старый 31.10.2016, 10:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

slider установка ширины ul
Роман Андреевич,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  html *{padding:0;margin:0}
  li{border:3px solid #0000FF;float:left;box-sizing:border-box; height: 120px;}
  ul{list-style:none}
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    function slider_size() {
        var ul = $("ul"),
            widthAll = 0;
        $("li", ul).each(function(indx, element) {
            this.style.width = document.documentElement.clientWidth + "px";
            widthAll += this.offsetWidth
        });
        ul.width(widthAll)
    }
    $(window).resize(slider_size).trigger("resize")
});
  </script>
</head>

<body>
<section>
  <nav>
    <ul>
      <li>
                                     //.....какой то контент
      </li>
      <li>
                                     //.....какой то контент
      </li>
      <li>
                                     //.....какой то контент
      </li>
      <li>
                               //.....какой то контент
      </li>
    </ul>
  </nav>
</section>


</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 31.10.2016, 11:24
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

рони,
Вопрос в том, что когда я задаю ширину li равной ширине окна, например ширина окна 1366px, по сути ширина li должна быть равна 1366px, но она равна 1366 - размер ползунка 17px. Во и вопрос, почему так.

И код, который вы привели в пример показывает у меня то же самое.

Заранее спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 31.10.2016, 11:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Роман Андреевич
через css им присвоен
float:left
Не совсем понятно, зачем такое присваивать, а потом программно расширять на всю ширину...
В стандарте элемент списка и так бы ее всю занял.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
* {
	margin: 0;
	padding: 0;
}
ul {
	list-style:none;
}
li {
	border:3px solid #0000FF;
	box-sizing: border-box; 
	height: 120px;
}
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<section>
	<nav>
		<ul>
			<li>
                                     //.....какой то контент
			</li>
			<li>
                                     //.....какой то контент
			</li>
			<li>
                                     //.....какой то контент
			</li>
			<li>
                               //.....какой то контент
			</li>
		</ul>
	</nav>
</section>

</body>
</html>

Последний раз редактировалось ksa, 31.10.2016 в 11:30.
Ответить с цитированием
  #7 (permalink)  
Старый 31.10.2016, 11:30
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

Это слайдер, li равны ширине окна а ul ширина всех li
Ответить с цитированием
  #8 (permalink)  
Старый 31.10.2016, 11:31
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

Вот скрин
Изображения:
Тип файла: jpg Без имени-1.jpg (178.6 Кб, 3 просмотров)
Ответить с цитированием
  #9 (permalink)  
Старый 31.10.2016, 11:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Роман Андреевич
Это слайдер
Вона че...
Ответить с цитированием
  #10 (permalink)  
Старый 31.10.2016, 11:33
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

))))))))))))))))))))))))))))))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery форма papacoca jQuery 0 06.08.2014 21:16
Как сохранить размер текста, который был изменён jQuery "fontSize" anton1990 Общие вопросы Javascript 8 31.07.2014 22:55
Jquery обработка списка RAMSlader jQuery 2 13.07.2011 12:27
Задать строкой ф-ию onclick ссылки, jQuery Jumangee Events/DOM/Window 5 18.01.2010 17:32
JQuery + FireFox NOOB jQuery 4 02.11.2009 18:16