Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не получается вызвать функцию с параметрами через событие onmouseover
 
 автор: artcity   (14.05.2012 в 13:18)   письмо автору
 
 

Суть в том что при наведении на ссылку должны выполняться две функции с параметрами....

<a href='proj.php' onmouseover='showtrail(320,240); mycount(123);'   onmouseout='hidetrail();'>
<img border='0' src='image.jpg' width='320' height='240' >
</a>


так вот в функции showtrail - все передается... она принимает переменные и работает с ними..
а вот в функции mycount.... ничего не передается.... она не видит значения "123"....

вопрос: почему? =(

  Ответить  
 
 автор: confirm   (14.05.2012 в 13:35)   письмо автору
 
   для: artcity   (14.05.2012 в 13:18)
 

Потому, что ошибка в функции.
<head>
<script>
function showtrail(i,k) {
   alert(i+','+k)  
}

function mycount(i) {
   alert(i)  
}
</script>
</head>
<body>
<a href='proj.php' onmouseover='showtrail(320,240); mycount(123);'> 
<img border='0' src='image.jpg' width='320' height='240' > 
</a>
</body>

Работает?

И что на каждую картинку будете вешать эти обработчики?

  Ответить  
 
 автор: artcity   (14.05.2012 в 13:59)   письмо автору
 
   для: confirm   (14.05.2012 в 13:35)
 

function mycount (count) {
return count;
}


какая ошибка может быть в функции?
я думал ей будет присвоено значение которое я ввел (123).....

  Ответить  
 
 автор: ЯСА   (14.05.2012 в 14:05)   письмо автору
 
   для: artcity   (14.05.2012 в 13:59)
 

ЕЙ (функции) не будет присвоено значения.
ОНА (функция) может лишь возвратить значение чему-то.

В вашем случае она возвращает значение пустоте (по сути - кричит в пустоту), потому что событию onmouseover ничего возвратить нельзя.

Функция ваша должна в данном случае исполнять что-то где-то, а НЕ возвращать.
Например, она должна что-то написать на заборе.
Только вы должны внутри функции указать - где именно этот забор находится и что именно на нём написать надо.
Что-то в виде
function mycount (count) {
document.getElementById ('id_забора').innerHTML = 'что на заборе написать';
}

  Ответить  
 
 автор: confirm   (14.05.2012 в 14:16)   письмо автору
 
   для: ЯСА   (14.05.2012 в 14:05)
 

'id_забора+мел', а дальше все знают, что пишут на заборах :)

  Ответить  
 
 автор: artcity   (14.05.2012 в 14:27)   письмо автору
 
   для: ЯСА   (14.05.2012 в 14:05)
 

хмм.... понятно...
хорошо, тогда как я могу вытащить значение за пределы функции?.... то есть мне его надо вставить в текст который выводиться уже за пределами функции....

  Ответить  
 
 автор: ЯСА   (14.05.2012 в 14:49)   письмо автору
 
   для: artcity   (14.05.2012 в 14:27)
 

В каком смысле "за пределами функции"?

Т.е. вставить надо не сразу по событию onmouseover, а потом, несколько позже?

Тогда надо какой-то глобальной переменной присвоить то, "что надо написать на заборе" и потом, когда забор к написанию на нём будет готов, взять значение из этой глобальной переменной.
-


В общем, чую, у вас какая-то САМАЯ ПРОСТАЯ задумка, только вы никак не желаете простыми словами её сформулировать.

Мей би, я ошибаюсь, но из имени переменных (showtrail и mycount) предположу, что по наведению на ссылку (хотя нахрена здесь ссылка? Можно и по наведению на саму картинку тоже самое сделать) эта картинка должна где-то как-то показаться в увеличенном виде (это обеспечивает showtrail).
И, одновременно, где-то как-то должно быть показано количество таковых просмотров этой картинки (а это должно обеспечиваться функцией mycount).
Так?

ИМХО, ваша функция showtrail создаёт только тег IMG с увеличенной картинкой, но не создаёт места, куда можно "впихнуть" количество просмотров.
Вот вы и в ступоре. Всё пытаетесь количество просмотров чему-нить присвоить.
А этого "чего-то" в природе не существует.
Угадал? :-)

  Ответить  
 
 автор: artcity   (14.05.2012 в 14:54)   письмо автору
 
   для: ЯСА   (14.05.2012 в 14:49)
 

абсолютно =)

то есть как я понял это сделать вообще не возможно?

showtrail содержит вот это:

function showtrail(width,height,file)
{
    w=width
    h=height + 10

    // followmouse()
    dis_obj = document.getElementById('ttimg');
    dis_obj.src=file

    img_obj = gettrailobj();
    document.onmousemove=followmouse;
    window.onscroll = hidetrail;   // отключаем показ при скролинге

    if ( isNaN(w) )
        img_obj.width = w;
    else
        img_obj.width=w+"px";
    if ( isNaN(h) )
        img_obj.height = h;
    else
        img_obj.height=h+"px"
    
    followmouse( window.event );
    img_obj.visibility="visible"
}


а вот собственно говоря часть кода в JS скрипте которая показывает даже текст просмотры.... но не показывает передаваемые данные:

if (document.getElementById || document.all) 
document.write('<div id="trailimageid" style="position:absolute;visibility:hidden;left:0px;top:-1000px;width:1px;height:1px;border:
10px solid #FFFFFF;background:#FFFFFF;font-size:10px;font-family:Arial"><img id="ttimg" src="includes/s.gif" /> Просмотров: ' + count + ' </div>')


p.s. если в этом скрипте присвоить переменной count какое нибудь значение, то на фотках оно тоже показывается как просмотры..... =(

  Ответить  
 
 автор: ЯСА   (14.05.2012 в 15:20)   письмо автору
 
   для: artcity   (14.05.2012 в 14:54)
 

Сделать можно всё.
Только если с умом.

А с последним у вас явно проблемы.
Вы не обижайтесь - на правду обижаться не следует.

Javascript работает с конкретными объектами конкретной страницы.
Я слово "конкретный" дважды выделил жирно не просто так, а со смыслом.

Измени одну (ОДНУ) буквочку на странице - и содранный вами с другой страницы скрипт работать уже не будет.
А когда вы дерёте из сети реликтовые скрипты, написанные ранее 2000 года (это следует из проверки на document.getElementById) - то и подавно. Скриптам этим давно место на помойке. Откуда вы их и вытащили.

Разбирать этот утиль желающих, думаю, не найдётся.

  Ответить  
 
 автор: artcity   (15.05.2012 в 06:06)   письмо автору
 
   для: ЯСА   (14.05.2012 в 15:20)
 

ну с умом проблем нет =) есть проблема с тем, что JS для меня как атомный колайдер.... я впервые сталкиваюсь с тем, чтобы что-то переделывать в слизаных скриптах...

в общем как я понял, нужно менять скрипт....

счас буду слизывать другой.... уверен ещё обращусь сюда за помощью в настройке =(

confirm и ЯСА
Спасибо за ответы и советы!!

  Ответить  
 
 автор: artcity   (15.05.2012 в 06:53)   письмо автору
 
   для: ЯСА   (14.05.2012 в 15:20)
 

ещё раз всем спасибо =)

взял за основу: photogenica.ru... нашел копирайты скрипта, зашел на сайт разработчика,... и по инструкции сделал себе галерею...

хотя там авторские указаны 2002-2008 ... не слишком старая галерея?

http://www.walterzorn.de/en/tooltip/tooltip_e.htm#docu

  Ответить  
 
 автор: confirm   (15.05.2012 в 07:16)   письмо автору
 
   для: artcity   (15.05.2012 в 06:53)
 

И что вас так тянет на раритеты?

  Ответить  
 
 автор: artcity   (15.05.2012 в 08:38)   письмо автору
 
   для: confirm   (15.05.2012 в 07:16)
 

мм... если не трудно подскажите посвежее скрипт.. я только рад буду =)

  Ответить  
 
 автор: confirm   (15.05.2012 в 10:00)   письмо автору
 
   для: artcity   (15.05.2012 в 08:38)
 

Я вам уже говорил - не можете, не знаете, возьмите готовое, но то, от чего будет польза помимо галереи - jQuery. Плагинов галерей под нее много, от простых, до навороченных.

  Ответить  
 
 автор: ЯСА   (15.05.2012 в 10:26)   письмо автору
 
   для: confirm   (15.05.2012 в 10:00)
 

>то, от чего будет польза помимо галереи - jQuery.

И какая же от неё польза (помимо галереи)?

Польза в смысле - "страница утяжеляется лишними килобайтами, центр тяжести страницы понижается и страница становится "устойчивее"? :-)))

  Ответить  
 
 автор: confirm   (15.05.2012 в 10:35)   письмо автору
 
   для: ЯСА   (15.05.2012 в 10:26)
 

Я полагаю, и небезосновательно, что галерей все не закончится, а значит... )
А что что он надыбал, таки 16 кило весит.

  Ответить  
 
 автор: ЯСА   (15.05.2012 в 10:57)   письмо автору
 
   для: confirm   (15.05.2012 в 10:35)
 

>Я полагаю, и небезосновательно, что галерей все не закончится, а значит...

Ха... будто вы не знаете, что значит это только одно - через пару дней/недель он сюда обязательно придёт с вопросом - "а как с помощью JQuery вывести сообщение alert ()"?

Потому как: раз уж "купили что-то ненужное", надо это "ненужное" использовать везде - и где нужно, и где не нужно.

  Ответить  
 
 автор: confirm   (15.05.2012 в 11:01)   письмо автору
 
   для: ЯСА   (15.05.2012 в 10:57)
 

Вполне возможно, но еще более возможно, это куча вопросов по вновь откопанной галерее. )

  Ответить  
 
 автор: artcity   (15.05.2012 в 12:43)   письмо автору
 
   для: ЯСА   (15.05.2012 в 10:57)
 

> Потому как: раз уж "купили что-то ненужное", надо это "ненужное" использовать везде - и где нужно, и где не нужно.

Слава Богу это не про меня..... просто меня просили сделать именно такой вид галереи... поэтому и была проблема сделать именно также...

>Я полагаю, и небезосновательно, что галерей все не закончится, а значит... )
к счастью этим все закончилось...


>Вполне возможно, но еще более возможно, это куча вопросов по вновь откопанной галерее. )
ну так форум вроде для этого и нужен... глядишь так через какое то время и сам начну в чем то разбираться

  Ответить  
 
 автор: confirm   (15.05.2012 в 12:47)   письмо автору
 
   для: artcity   (15.05.2012 в 12:43)
 

Где можно увидеть в действии галерею, которую кто-то обожает? Чем она так неповторима?

  Ответить  
 
 автор: artcity   (15.05.2012 в 13:20)   письмо автору
 
   для: confirm   (15.05.2012 в 12:47)
 

http://ru.fotolia.com/ (в том месте, где фото дня)
http://photogenica.ru (выбрать любой раздел)

вот такое отображение нужно было сделать.... причем не для фотобанка, а для выполненых работ...

  Ответить  
 
 автор: confirm   (15.05.2012 в 13:25)   письмо автору
 
   для: artcity   (15.05.2012 в 13:20)
 

Мда.... И ради этого 16 КБ? Многовато. И я все таки из тех пользователей, которых раздражает беготня за мышкой.

  Ответить  
 
 автор: artcity   (16.05.2012 в 08:00)   письмо автору
 
   для: confirm   (15.05.2012 в 13:25)
 

ну как то так.... просили сделать так....
это не настолько глобальный проект чтобы 16Кб имели большое значение....

  Ответить  
 
 автор: confirm   (16.05.2012 в 08:54)   письмо автору
 
   для: artcity   (16.05.2012 в 08:00)
 

Размер всегда имеет значение. Я вам в предыдущей теме показывал код, который делает тоже самое, что и ваши 16 КБ. Там даже лишнее есть, слайдер с изображениями, которые вам не нужны, значит еще короче. Добавить проверку прокрутки страницы, навести "красивости" стилями, и готово.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования