Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Нужна помощь с доработкой JS, исправить 1 баг, можно даже за $ (https://javascript.ru/forum/dom-window/21317-nuzhna-pomoshh-s-dorabotkojj-js-ispravit-1-bag-mozhno-dazhe-za-%24.html)

Kanzaki 05.09.2011 10:57

Нужна помощь с доработкой JS, исправить 1 баг, можно даже за $
 
Доброго времени суток, уважаемые господа (и дамы, если таковые имеются)

Есть один java-скрипт от расширения для Firefox, который работает, но есть в нем один баг.
В общем скрипт при наведении на ссылку с изображением показывает во всплывающем окне это изображение, или его уменьшенную копию, это как будет настроено.
Баг заключается в том, что если изображение по высоте больше, чем высота окна (при условии настроек - показ изображения возле курсора мыши) и если показывается выше курсора (так, как ниже не влазит), то оно почему-то обрезается по высоте до положения курсора, а ширина остается правильной.
Вот скрин:


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

Прошу подойти к дело серьезно.
Сам код можете посмотреть тут или скачать тут, чтобы сильно не загромождать страницу форума

Gvozd 05.09.2011 12:44

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

Kanzaki 05.09.2011 13:14

Больше. Ну, об этом можно договориться отдельно.
На самом деле работы не много. Я ведь не прошу написать новый скрипт, а лишь исправить один баг.
Слишком много предложить не могу, но всё же надеюсь на вашу помощь.
Если есть интерес, пишите в icq: 260288256

Gvozd 05.09.2011 13:32

Цитата:

Сообщение от Kanzaki
Больше. Ну, об этом можно договориться отдельно.

кажется я попросил конкретику.
То, что вы разместили предложение о работе не в соответсвующем разделе форума, это не значит, что вы можете не выполнять правила для него.
http://javascript.ru/forum/job/3330-pravila.html
Так, что пожалуйста укажите способ и размер оплаты.
Цитата:

Сообщение от Kanzaki
На самом деле работы не много.

С чего вы так решили, если не можете самостоятельно сделать эту работу?
Я, например пока не могу навскидку оценить объем работы, так как вы не указали живого примера(не хватает HTML-а, картинок и стилей с которым предполагается работать плагину)
Бесплатно же вычитывать же весь код для оценки работы, с применением прогрессивных телепатических технологий, сами понимаете, мне не хочется.
Цитата:

Сообщение от Kanzaki
Я ведь не прошу написать новый скрипт, а лишь исправить один баг.

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

Kanzaki 05.09.2011 13:56

Конкретно готов заплатить в качестве благодарности 10$. Именно в качестве благодарности, поэтому и создал в этом разделе.
Про способ оплаты, мне удобней через киви кошелек. Через него уже могу отправить куда вам нужно, вроде...
Я почти со всем кодом разобрался, однако исправить баг самому не получается.
Получить все необходимые стили и картинки можете получить связавшись со мной в icq (260288256) или через почту (heavenanvil@gmail.com)

Андрей Параничев 05.09.2011 16:43

У вас в коде есть такие места:
//this.popupWindow.style.width =  (imgWidth +20)+'px';
//this.popupWindow.style.height = (imgHeight+20)+'px';
this.popupWindow.style.width = 'auto';
this.popupWindow.style.height = 'auto';

Конечно вслепую разбираться практически нереально, но вы не пробовали раскомментировать первые строчки и закомментировать две последние? Мне кажется, что происходит такое из-за того, что auto ужимает ваш элемент от верха экрана до текущего места нахождения курсора.

Kanzaki 05.09.2011 16:52

Андрей Параничев, это пробовал в первую очередь. Ничего не изменяется.

DjDiablo 05.09.2011 19:20

Не совсем удачная мысль помоему, делать full preview равным реальному размеру изображения.
Лучше всё таки ограничить preview каким нибудь 400x600. А ещё лучше прописать только высоту или ширину, чтобы браузер вычислил недостающий параметр сам и не деформировал изображение. Благодаря этому пользователь сможет увидеть большую картинку целиком, а не только её половину.

можно сделать даже более разумным плагин.
если left картинки+ширина картинки > ширины окна тогда left картинки= ширина окна- ширина картинки.
То есть не даём картинки вылазить за пределы экран.

Kanzaki 05.09.2011 20:24

DjDiablo, то есть Вы имеете ввиду: Если картинка не влазит в экран, уменьшаем её так, чтобы влезла, а если влазит, то не изменяем, а просто показываем. Так?
Хм. Возможно данный метод решит проблему. Хотя в настройках плагина есть галочка типа: Максимальная высота изображения. Если меньше этого значения, то она уменьшается (но вы наверно заметили это по коду). Так вот даже если я ставлю значение равное высоте разрешения моего экрана, проблема все равно остается, обрезается на уровне курсора. Так, что может этот способ и не решит проблему.
Найдется кто смелый попробовать реализовать то, что DjDiablo, задумал? У меня пока опыта маловато, очень много времени потрачу на это, но век живи, век учись :)

Kanzaki 06.09.2011 00:03

Вот. что мне ответил автор этого скрипта:
Цитата:

We popup preview window by this way:

this.popupWindow.openPopupAtScreen(x,y);

Popup a window will make sure preview windows always overlay on web page.

There are some limit when popup window :
window must small than your screen. If your image large than your screen, image will be cropped.
Another problem is : when [popup location y] < [image.height] will get a wrong window size.

If want to fix these problems:
(1) When image large than your screen, we MUST scale image.
(2) When [image.heigh] > [mouse.pos.y] we need set [popup location y] to image.heigh.
Это должно помочь. Я знаю, что тут написано. А в последних строках и конкретный способ решения проблемы. Мне нужна помощь исправить.


Часовой пояс GMT +3, время: 10:34.