Несколько вопросов
Всем привет. Помогите с решением нескольких проблем.
1) Дайте пожалуйста полный код примера, описаного сдесь: http://javascript.ru/blog/Andrej-Par...eout-easeinout 2) Подскажите, как сделать галерею с плавной прокруткой. Не сам код, а именно как её сделать. Обязательно ли для этого использовать какие-то фрэймворки, или можно без этого обойтись? Опишите пожалуйста пошагово, этапы создания галереи. Если можно, то дайте пример кода самой наипростейшей галереи с прокруткой 3) Есть код: var xpos; var ypos; function imouse(){ ypos=event.y+document.body.scrollTop; xpos=event.x+document.body.scrollLeft; document.getElementById('x').innerHTML = xpos; document.getElementById('y').innerHTML = ypos; } document.onmousemove=imouse; В нём в роде всё понятно, кроме последней строки. Почёму нельзя написать ...=imouse(); Ведь imouse это же функция. 4) В одной из тем, мне подсказали решение моей проблемы дав код. Вот его часть: $('res_cat').innerHTML="ваш текст"; Подскажите, что означает конструкция вида $('ид') ? |
document.onmousemove=imouse; 3. Тут же важно не просто выполнить функцию imouse(). А выполнить ее при document.onmousemove. Для этого нужно указать обработчик события document.onmousemove, используется функция imouse(). Соответственно при этом событии будет выполнятся ф-ция imouse(). 4. выборка DOM элементов с таким $(id/class/tag)... (jQuery) |
Цитата:
<script> document.onmousemove = function() { alert(this); }; </script> <script>document.onmousemove = function() { alert(this); }(); </script> Цитата:
$('res_cat')[0].innerHTML="ваш текст"; $('res_cat').get(0).innerHTML="ваш текст"; $('res_cat').html("ваш текст"); $('res_cat').text("ваш текст"); Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
а imouse() возвращает результат работы этой функции может так будет понятней document.onmousemove = function(){ ypos=event.y+document.body.scrollTop; xpos=event.x+document.body.scrollLeft; document.getElementById('x').innerHTML = xpos; document.getElementById('y').innerHTML = ypos; } |
Цитата:
|
Цитата:
var foo = function() {}(); var - объявление (declaration) foo - переменная (variable) function() {} - определение (definition) () вызов (calling) |
(Sandr), Вас наверно не оставляет в покое вопрос как это переменой присвоить функцию, а не ее результат. Так как в других языках программирования это просто невозможно. Можно ее только описать потом вызвать..
Тут все просто переменной можно присвоить функцию так же как и переменой присвоить число например или строку. Только чтобы потом выполнить эту функцию нужно еще использовать оператор вызова переменная(функция)(). Просто обычной переменной присвойте определение функции и потом выведете значение переменной. Результат - никак не результат работы функции, а именно ее определение. |
Если взять 2 выше приведённых примера:
<script> document.onmousemove = function() { alert(this); }; </script> <script>document.onmousemove = function() { alert(this); }(); </script> По моей логике, они должны выдавать одинаковый результат. В первом случае выводится из-за того, что мышь двигается, во 2м из-за того, что функция сначало вызвала сама себя, а потом из-за того, что мышь двигается. Чёт я запутался в этих функциях :blink: |
Ааа.. до меня дошло))
|
Спасибо за ваши объяснения) И за то, что не послали... читать книжку)
|
Дабы не плодить отдельный топик, решил спросить тут (тема, ИМХО, соответствует).
Есть таблица, в ячейках которой есть селекты, инпуты, выводятся данные при помощи innerHTML. К селектам и инпутам через онченч привязана функция, которая считывает значения ячеек в строке по ид (например, а11, д11 и т.д.), обрабатывает их и выводит в ячейки результаты. Каким способом можно модифицировать функцию, чтобы она обрабатывала данные по всем строкам таблицы (в данный момент она работает только с одной строкой таблицы). Понимаю, что есть несколько путей решения, хотелось бы о них узнать и их плюсы-минусы. |
Цитата:
|
А если передать в функцию цифры при ИД? Буквы у ИД одинаковые... Т.е. функция обращается к ИД вида ХХ11 при обработке первой строки, ХХ22 - второй и т.д.
|
Цитата:
Нужно использовать чёткую структуру таблицы и этими сведениями оперировать. Если будет тестовый пример - на нём можно будет показать уже конкретно... |
Попробовал. Вызов функции <select size="1" id="plot11" value="Плотность" style="width: 50px" onchange="rz1(11)">
функция function rz1(ind) {tol = document.getElementById("plot" + ind).value} работает нормально... |
lovial, то, что ты написал даже примером не назовёшь... :)
|
Зато работает... :)
Правда, столкнулся с другой проблемой. Индекс при ИД у меня двузначный, а в функции (в коде выше этого нет) мне надо использовать индексы и по отдельности тоже. Так вот, единственный способ, которым мне удалось из передаваемого параметра (например, 12) выделить отдельно переменными значения 1 и 2, оказалась математика: делил параметр на 10, забирал целую часть и т.д. "Разобрать" передаваемый параметр через substring не получилось, пробовал даже переводить из числа в текст и наоборот. Пытался поделить на 10, затем загнать в массив по разделителю "."... В принципе, проблема решается (думаю) передачей двух параметров (например, 1 и 2), но интересно, почему не получилось распарсить... |
arr= "plot11".match(/\d{2}/); alert(arr); Если же таких двузначных чисел несколько будет, то с флагом g. Только тогда match вернёт массив: arr= "33plot11".match(/\d{2}/g); alert(arr); |
Цитата:
|
Ну да, в первом примере не нужен (убрал). А во втором - чтобы найти все совпадения...
|
Цитата:
|
Часовой пояс GMT +3, время: 12:56. |