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

HTML+CSS+JavaScript

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

 

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

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

тема: не выполняется событие onclick. в чём загвоздка?
 
 автор: prosaic   (12.09.2007 в 12:34)   письмо автору
 
 

день добрый.


<script type="text/javascript">
function gall(n) {document.getElementById('look').style.backgroundImage = 'url('+n+'b.jpg)'}
</script>
...................................

<a href='javascript:;' onclick='gall(1)'><img src="1.jpg" /></a>


нажимаем на ссылку и в div фоном становится картинка 1b.jpg
работает в Firefox, в IE не работает(

добавил alert(n); в функцию - работает, но выводит алерт соответственно:


<script type="text/javascript">
function gall(n) {document.getElementById('look').style.backgroundImage = 'url('+n+'b.jpg)'
alert(n);}
</script>
...................................

<a href='javascript:;' onclick='gall(1)'><img src="1.jpg" /></a>


в чём собственно загвоздка? как написать под IE рабочий код?
спасибо

   
 
 автор: sim5   (12.09.2007 в 13:35)   письмо автору
 
   для: prosaic   (12.09.2007 в 12:34)
 

Напишите так:

alert(document.getElementById('look').style.backgroundImage)

может ошибка в кончном уже, и это поможет вывявить ее.

   
 
 автор: prosaic   (12.09.2007 в 14:13)   письмо автору
 
   для: sim5   (12.09.2007 в 13:35)
 

так это понятно. я не понимаю почему в IE не работает функция определения бэкграунда.
добавляя алерт после неё всё работает. почему?

   
 
 автор: sim5   (12.09.2007 в 14:22)   письмо автору
 
   для: prosaic   (12.09.2007 в 14:13)
 

Потому что у вас вызов не верно записан:

<a href='javascript:onclick=gall(1)'> - так надо.

   
 
 автор: prosaic   (12.09.2007 в 14:25)   письмо автору
 
   для: sim5   (12.09.2007 в 14:22)
 

)))))))))))))))))))

спасибо))))))))

   
 
 автор: Madman   (12.09.2007 в 16:21)   письмо автору
 
   для: sim5   (12.09.2007 в 14:22)
 

><a href='javascript:onclick=gall(1)'> - так надо.

Что за злая конструкция?
Куда проще:

<a href='javascript:gall(1)'>ссылка</a>

   
 
 автор: sim5   (12.09.2007 в 20:01)   письмо автору
 
   для: Madman   (12.09.2007 в 16:21)
 

:))) Сперва пропустил "мимо ушей", уж потом... ну недодержал Delete, бывает =)

   
 
 автор: CNT   (12.09.2007 в 16:21)   письмо автору
 
   для: sim5   (12.09.2007 в 14:22)
 

Так НЕ НАДО!!!

"Уж сколько раз твердили миру", что протокол javascript: в атрибуте HREF использовать не рекомендуется ни в коем случае!
Но всё-равно вылезают откуда-то не умеющие головой подумать хоть чуть-чуть и радостно советуют.
И их не мнее радостно благодарят.

В любом (подчёркиваю - в любом!) браузере есть возможность установить "Открывать ссылки в новом окне". Ну и что "откроет" в новом окне ссылка, где вместо URL в атрибуте HREF прописано какое-то скриптовое действие?

Поэкспериментируйте - клик правой кнопкой мыши по ссылке и выбор "открыть в новом окне (вкладке)" - и убедитесь сами, что получите "ошибку 404" ("невозможно отобразить страницу").
Вы именно это хотели показать пользователю?


Правильно следует писать так:
<a href="#" onclick="ваш JScript-код (или вызов JScript-функции); return false">Ссылка</a>

   
 
 автор: sim5   (12.09.2007 в 16:23)   письмо автору
 
   для: CNT   (12.09.2007 в 16:21)
 

Я знаю об этом, виноват, больше так не буду :)))

   
Rambler's Top100
вверх

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