Javascript.RU

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

Помогите новичку!
Здравствуйте! Помогите, пожалуйста, решить задачку .
Код:
<div class="slider">
   <div class="sliderContent">
      <img src="1.jpg" />
      <img src="2.jpg" />
      <img src="3.jpg" />
      <img src="4.jpg" />
      <img src="5.jpg" />
      <img src="6.jpg" />
      <img src="7.jpg" />
      <img src="8.jpg" />
      <img src="9.jpg" />
      <img src="10.jpg" />
   </div>
</div>
Размеры картинок и их количество неизвестны, т.е. теги img формируются динамически и ширина картинок может быть
разной. Теперь вопрос: как посчитать, какая должна быть ширина у sliderContent? Если ее задать через стили заведомо
большой, то останется пустое место. Предполагаю, что можно как-то посчитать через javascript. Например, функцией each
которая есть в jquery, пробежаться по всем img, вычислить их суммарную ширину и установить эту ширину у sliderContent. Но
как тогда узнать ширину картинок, если у нее незадается никаких параметров ни в атрибутах (видз и хеигхт) ни в стилях? Или
можно пойти каким то другим путем? Помогите, пожалуйста!
Ответить с цитированием
  #2 (permalink)  
Старый 04.08.2012, 16:31
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Анатолий Саратовцев,
установите стандартную типовую высоту картинки а ширину auto или наоборот
Если в теге - тогда прописываем только фиксированный атрибут

<img src="/forum/images/editor/smilie.gif" width="21" />
Ответить с цитированием
  #3 (permalink)  
Старый 04.08.2012, 16:46
Интересующийся
Отправить личное сообщение для Анатолий Саратовцев Посмотреть профиль Найти все сообщения от Анатолий Саратовцев
 
Регистрация: 28.06.2012
Сообщений: 24

Сообщение от Deff Посмотреть сообщение
Анатолий Саратовцев,
установите стандартную типовую высоту картинки а ширину auto или наоборот
Если в теге - тогда прописываем только фиксированный атрибут

<img src="/forum/images/editor/smilie.gif" width="21" />
Понятно что если я задам высоту картинок а ширину задавать не буду, то ширина подгонится сама. Еще вы предлагаете задать фиксированную ширину... . Так дело в том как раз что ширина может быть разная а высота одна. Да дело даже не в этом, а в том как вычислить ширину всего блока, она должна быть суммой ширин всех картинок
Ответить с цитированием
  #4 (permalink)  
Старый 04.08.2012, 17:06
Интересующийся
Отправить личное сообщение для Анатолий Саратовцев Посмотреть профиль Найти все сообщения от Анатолий Саратовцев
 
Регистрация: 28.06.2012
Сообщений: 24

Короче, дело решается если можно вычислить ширину каждой картинки. Но у картинки нет никаких атрибутов у которых можно взять эту ширину. Может есть какаято низкоуровневая функция?
Ответить с цитированием
  #5 (permalink)  
Старый 04.08.2012, 17:24
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Анатолий Саратовцев,
1. А зачем Вам ширина?
2. - Наверняка это превью - воткните картинки в divы с overflow:hidden с cтандартизованной шириной -высотой ( в превью главное - центр
3 - загрузить картинки в div блок за кадром - (позиция absolute ; z-index:-100; - cчитать там ширину и высоту блока - выровнять и воткнуть блок в слайдер
Ответить с цитированием
  #6 (permalink)  
Старый 04.08.2012, 17:36
Интересующийся
Отправить личное сообщение для Анатолий Саратовцев Посмотреть профиль Найти все сообщения от Анатолий Саратовцев
 
Регистрация: 28.06.2012
Сообщений: 24

Сообщение от Deff Посмотреть сообщение
Анатолий Саратовцев,
1. А зачем Вам ширина?
2. - Наверняка это превью - воткните картинки в divы с overflow:hidden с cтандартизованной шириной -высотой ( в превью главное - центр
3 - загрузить картинки в div блок за кадром - (позиция absolute ; z-index:-100; - cчитать там ширину и высоту блока - выровнять и воткнуть блок в слайдер
Нет, надо вычислить именно ширину
Ответить с цитированием
  #7 (permalink)  
Старый 04.08.2012, 17:41
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Анатолий Саратовцев,
3-тий пункт, там и весь блок и каждая картинка - как нравиться
Ответить с цитированием
  #8 (permalink)  
Старый 04.08.2012, 17:46
Интересующийся
Отправить личное сообщение для Анатолий Саратовцев Посмотреть профиль Найти все сообщения от Анатолий Саратовцев
 
Регистрация: 28.06.2012
Сообщений: 24

Вот как решил проблему (может кому понадобится)
Код:
<script type="text/javascript">
$(document).ready(function() {
	 var sliderwidth = 0;
         $('.contentslider img').each(function(index) {
	     sliderwidth = sliderwidth + this.width;
	  })		  
	  $('.contentslider').attr('style', 'width:'+sliderwidth+'px');
});
</script>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите плис новичку в ajax urel AJAX и COMET 6 12.01.2013 21:36
помогите новичку с поиском! real-man AJAX и COMET 8 12.06.2011 14:07
Помогите новичку serly Общие вопросы Javascript 1 13.04.2011 10:47
Помогите новичку с выпадающим списком interest Элементы интерфейса 5 19.05.2010 13:15
ССЫЛКИ (Помогите новичку) meggen (X)HTML/CSS 8 30.11.2009 10:51