| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > Вызов функции |
| Автор: Wheels 10.10.2008, 14:06 | ||
| Всем привет. Имеется определенная функция. Понятно как сделать кнопочки и нацепить на каждую вызов этой функции, но у меня не совсем стандартная ситуация. Имеется выпадающий список с четырмя опциями и три радиобокса. Суть проблемы: 1) как нацепить вызов функции на опции в списке? На каждую опцию функция должна вызываться со своими параметрами, причем, параметры должны завистеть от выбранного радиобокса? Т.е. при выборе одной из опций вызывается одна из трех функций (в зависимости от того, какой выбран радиобокс) 2) при выборе радиобокса функция тоже перевызывается, но параметры ее зависят от того, какая выбрана опция в списке.
Заранее БОЛЬШОЕ спасибо! |
| Автор: Michael.de 10.10.2008, 18:26 |
| Wheels, если я правильно понял вопрос: похожее рассматривалось >>http://forum.vingrad.ru/forum/topic-210359.html<< |
| Автор: Wheels 10.10.2008, 18:36 |
| Michael.de, спасибо за ссылку, но к сожалению там у человека совсем иная задача была. попробую немного по-другому обьяснить. есть выпадающий список из 4 пунктов. есть 3 радиобокса. При выборе какого-нибудь пункта из списка, вызывается одна из трех функций, а какая именно - зависит от выбранного радиобокса. В свою очередь - при выборе какого-либо радиобокса вызывается одна из четырех функций, а какая именно - зависит от выбранного пункта списка. Такая вот, муть... =( Функция-то вызывается одна и та же, просто с разными параметрами. |
| Автор: unicross 10.10.2008, 20:56 | ||||
Что-то типа того
Немного коряво получилось, но смысл думаю будет понятен. Функцию, в которую передаются параметры, написать сможете сами. Выведет примерно следующее
|
| Автор: Wheels 11.10.2008, 18:08 | ||||
| unicross, Спасибо!!! Нужно немного переделать, не получается самому ((
вот тут параметры подставляются js динамически. А у меня они формируются посредством php еще до вывода страницы. Для каждой из этих комбинаций свои параметры вызываемой функции. что-то типа
Только не бейте больно за написанное выше, всего лишь скелет для примера, так сказать). Уже иду читать основы js )) |
| Автор: Wheels 11.10.2008, 19:21 | ||
Вот что у меня получилось. Как-то очень громоздко. Можно ли как-нибудь... более изящно что ли это написать?
|
| Автор: unicross 11.10.2008, 20:52 | ||
Если требуется только передать параметры, то будет еще проще
|
| Автор: Wheels 11.10.2008, 21:13 | ||||
| unicross, огромное спасибо за помощь! А-то искал что-нибудь типа elseif() или switch case в js =) А php тут вот причем: вот если взять скрипт, как я его в последний раз написал и вместо вызова alert() в каждом случае вызывать функцию
то получится как раз то, что мне нужно. Другое дело, что я не знаю как ее туда пристроить =) Просто заранее php подставляет в эту функцию кое-какие параметры и она вызывается с разными параметрами каждый раз, вот и все) Вот так эта функция вызывается с разными параметрами при нажатии на кнопки:
А мне нужно что бы она запускалась у меня вместо того, что бы алерты вылетали ) Еще раз спасибо Вам. |
| Автор: unicross 11.10.2008, 21:21 | ||
Что должна делать эта функция? Изменять размеры изображения? PHP генерирует изображение на сервере? Может можно все сделать через JS без PHP? |
| Автор: Wheels 11.10.2008, 21:25 |
| http://odyniec.net/projects/imgareaselect/ вот по этой ссылке можно посмотреть. Она выделяет область изображения. Я просто не хочу приводить свой полный код, там каша из php - пипец какая) Добавлено через 9 минут и 52 секунды unicross, кстати, может быть действительно я извращенец и можно обойтись js. Я просто не знаю js, но знаю php- вот и кручусь как могу. Только не смейтесь, ладно?) Я загружаю изображение на сервер, ну и работаю с ним... в процессе понадобилось сделать так: показать изображение в масштабе 25%, 50%, 75%, 100. (как раз за этим и нужен выпадающий список) Тут я просто взял и средствами php сдела 4 файла картинки из одного (пропорционально уменьшая оригинал на нужное кол-во %) Далее нужно выделить область на изображении средствами js (как раз эта функция для того и вызывается) Дело в том, что у выделяемой области есть минимальные длины сторон. Например, она должна быть не меньше, чем 65х65. Ну а если изображение слишком большое - целесообразно работать уменьшив его процентов на 50%, что бы на экран помещалось. Или же работать с большим, если нужно видеть мелкие детали. Для этого и селектом и переключаются размеры. Но если мы выбрали 50% - то выделяемая область должна быть уже не 65 на 65, а в пловину меньше. Далее средствами php я уже сопоставлю масштаб изображения в котором пользователь выделял и и вырежу как надо. Вот, как-то так) Добавлено через 11 минут и 38 секунд Я просто не нашел как поменять пропорционально размер изображения средствами js, возможно и не понадобилось бы делать 4 файла с помощью php. |
| Автор: unicross 11.10.2008, 22:23 | ||||
Изменить размер изображения можно например так:
Крутая штука... |
| Автор: Wheels 12.10.2008, 12:42 |
| О, теперь можно загружать всего одно изображение... Спасибо. Как запустить функцию выделения вместо алерта? |
| Автор: unicross 12.10.2008, 13:56 | ||||
А так делать не пробывали?
В функцию f_print() передаются практически все параметры. Это можно обработать. Как я понимаю
это просто обработка событий. Так как вы сами обрабатываете события, то можно просто вставить выражение внутри этих функций в функцию f_print() и изменить какие-либо параметры в зависимости от значения переменных s1 и s2, например, поменять параметры minHeight и minWidth. |
| Автор: Wheels 12.10.2008, 16:02 |
| Все, спасибо большое, вопрос решён)) |