Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.07.2012, 22:43
Интересующийся
Отправить личное сообщение для Acreator57887 Посмотреть профиль Найти все сообщения от Acreator57887
 
Регистрация: 27.06.2012
Сообщений: 25

демо-картинки. уменьшает и выравнивает
Ответить с цитированием
  #12 (permalink)  
Старый 25.07.2012, 23:01
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Acreator57887,
Там в скрипте имхо смысла нет http://s1.uploads.ru/i/8E4sm.png

Cкриншот с отключенным ява скрипт и вставкой такого сss кода:
<style type="text/css">
td.phtTdMain img.demophoto{
  width: 288px!important;
  height: 180px!important;
}
</style>
Ответить с цитированием
  #13 (permalink)  
Старый 26.07.2012, 11:06
Интересующийся
Отправить личное сообщение для Acreator57887 Посмотреть профиль Найти все сообщения от Acreator57887
 
Регистрация: 27.06.2012
Сообщений: 25

Почему такое качество? А ясно, это качество скриншота.
Ну да, в этом и проблема, что в Опере после обновления страницы скрипт не выполняется. Незнаю как у Вас, но у меня если почистить кэш при первой загрузке так:
http://s2.hostingkartinok.com/upload...f2a97d96e2.png

У меня изначально в CSS выставленны минимальные и максимальные значения высоты и ширины изображений, так что скрипт только немного "доуменьшает" и позиционирует.

P.S. На странице возможны какие-либо изменения, т.к. я сам тоже пытаюсь) пробую разные варианты.

Последний раз редактировалось Acreator57887, 26.07.2012 в 11:19.
Ответить с цитированием
  #14 (permalink)  
Старый 26.07.2012, 11:30
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Acreator57887,
Сообщение от Acreator57887
только немного "доуменьшает" и позиционирует.
Смысла в скрипте - нет
1. Изо стоят в див блоке со скрытым скроллом и автоцентрированием по ширине
2. у Изо скриптом выставляется высота 180, что равнозначно
height: 180px!important

Думаю смело можно выкинуть данный скрипт и оставить только css
Ответить с цитированием
  #15 (permalink)  
Старый 26.07.2012, 11:43
Интересующийся
Отправить личное сообщение для Acreator57887 Посмотреть профиль Найти все сообщения от Acreator57887
 
Регистрация: 27.06.2012
Сообщений: 25

Кажется решил проблему

Может опять "не до конца"

Но по-моему всё работает. Может протестите? У меня сейчас во всех браузерах всё работает, ... пока работает))

Вот общий скриншот в опере:
http://smotr.im/6bLg

Вот результат работы скрипта:
http://smotr.im/6bLy

Вертикально-ориентированная картинка уменьшена: ширина соответствует 180 px, + выравнивание по середине по вертикали.
Ответить с цитированием
  #16 (permalink)  
Старый 26.07.2012, 11:48
Интересующийся
Отправить личное сообщение для Acreator57887 Посмотреть профиль Найти все сообщения от Acreator57887
 
Регистрация: 27.06.2012
Сообщений: 25

Deff,

А вот с отключенным javsdcript:
http://smotr.im/6bM4
http://smotr.im/6bMt

По-моему большая разница.
Или вы до сих пор считаете, что скрипт ничего не меняет??

$('.demophoto').each(function() {
var cimg = $(this);
var img = new Image;
img.onload = function() {

// Получаем размеры:
var width = cimg.width(); 
var height = cimg.height();


// Если ширина больше высоты, то высоте присваеваем 180, иначе ширине присваеваем 180

if (width > height) {
cimg.css('height', 180);
} else {
cimg.css('width', 180);
};


// Получаем новые размеры (на всякий пожарный):

var width_new = cimg.width();
var height_new = cimg.height();


// И позиционируем

if (width_new > 180) {
var rig = (width_new-180)/2;
cimg.css('right', rig);
} else {
var bot = (height_new-180)/2;
cimg.css('bottom', bot);
};

}
img.src = this.src;
});


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

Последний раз редактировалось Acreator57887, 26.07.2012 в 12:04.
Ответить с цитированием
  #17 (permalink)  
Старый 26.07.2012, 12:15
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Acreator57887,
пропишите onload="Func(this)" в тег каждой картинки - траблов не будет

<script type="text/javascript">
function Func(a) {
 alert(a.src)
}
</script>

<center>

<img src="http://javascript.ru/forum/images/smilies/blink.gif" onload="Func(this)"/><br /><br />
<img src="http://st.ladycash.ru/data/links_block/12997_12862_1.gif" onload="Func(this)"/>

</center>

Последний раз редактировалось Deff, 26.07.2012 в 12:26.
Ответить с цитированием
  #18 (permalink)  
Старый 26.07.2012, 12:19
Интересующийся
Отправить личное сообщение для Acreator57887 Посмотреть профиль Найти все сообщения от Acreator57887
 
Регистрация: 27.06.2012
Сообщений: 25

Спасибо конечно) а что такое траблы?
Объясните нубу)
Ответить с цитированием
  #19 (permalink)  
Старый 26.07.2012, 12:23
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Acreator57887,
Cкрипта достаточно одного на все картинки и он должен стоять выше их всех

Трабл - тоже, что и баг(Картинки просто загружаются ранее, чем Вы пытаетесь что то делать скриптом
Ответить с цитированием
  #20 (permalink)  
Старый 26.07.2012, 12:27
Интересующийся
Отправить личное сообщение для Acreator57887 Посмотреть профиль Найти все сообщения от Acreator57887
 
Регистрация: 27.06.2012
Сообщений: 25

Да, я примерно так и подумал, но не знал что конкретно эти траблы.

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

А выше вставлять, это куда? Без разницы или в head?
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Невыполнение скрипта для уже загруженных картинок в опере Acreator57887 Общие вопросы Javascript 0 24.07.2012 17:10
Скрипт для вставки личных данных в Опере praeeo Opera, Safari и др. 2 30.12.2010 10:52
Прелоуд картинок не работает в Опере Arseo Opera, Safari и др. 3 20.11.2009 18:45
скрипт multibox для joomla - не работает в опере lamanzh Opera, Safari и др. 17 26.06.2009 11:35
Задание CSS для загруженных во фрейм страниц <Pool> Общие вопросы Javascript 1 14.01.2009 15:59