Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как автоматически прикрутить JS к ссылке? (https://javascript.ru/forum/dom-window/37451-kak-avtomaticheski-prikrutit-js-k-ssylke.html)

enselerizer 20.04.2013 11:24

Как автоматически прикрутить JS к ссылке?
 
Всем привет!

Возникла небольшая проблема.
у меня есть скрипт на JQuery, добавляющий эффекты при постраничном переходе.

Но у него есть одна неприятная особенность:
все ссылки должны иметь вид
<a href='javascript:go_to("index.html")' />Ссылка</a>



Задача:
Освободить скрипт от этого ограничения, что бы не надо было подставлять это ко всем ссылкам.

Ведь проблема в том, что сайт имеет немалые размеры, + большинство ссылок (например, постраничная навигация) вставляются самой CMS.


Собственно, скрипт:
var m = 0;       
var t;       
var go;       

function show() {       

m++;       
document.body.style.opacity = m/100;       
document.body.style.filter="alpha(opacity="+m+")";       
t = setTimeout("show()",3);       
if (m>=100) clearTimeout(t);       

}       

function hide() {       

m--;       
document.body.style.opacity = m/100;       
document.body.style.filter="alpha(opacity="+m+")";       
t = setTimeout("hide()",5);       
if (m<=0) {       

clearTimeout(t);       
location.href = go;       

}       

}       

function go_to(url) {       

clearTimeout(t);       
go = url;       
hide();       

}       

show();


:help:
Заранее спасибо...

dmitriymar 20.04.2013 12:15

Написать скрипт для приведения хрефов в необходимый вид, а не менять код скрипта
если на джиквери:
по ready заменить всем ссылкам, имеющим опр. класс или дата атрибут, хреф на необходимый. Решение-ровно одна строка
выбрать по селектору. пройти по получившемуся массиву заменяя хреф =4 "оператора"

если на на нативе немногим больше .
Всю необходимую информацию можете найти в http://learn.javascript.ru/ либо в гугле

danik.js 20.04.2013 13:09

Дабы не смущать юзеров нелепыми ссылками лучше навешивать обработчик onclick - результат тот же.

enselerizer 20.04.2013 14:55

Цитата:

Сообщение от dmitriymar (Сообщение 247299)
Решение-ровно одна строка
выбрать по селектору. пройти по получившемуся массиву заменяя хреф =4 "оператора"

Не понял ни слова :( :( :(

Цитата:

Сообщение от danik.js (Сообщение 247301)
Дабы не смущать юзеров нелепыми ссылками лучше навешивать обработчик onclick - результат тот же.

Опять же, не понял ни слова...

На счёт же learn.javascript, то найти там нужную информацию такому нубу как я не просто..

Ладно, буду искать....
Если у кого останется свободная минутка, помогите плиз.

А так всем +1 в карму, хоть дали направление, куда пахать :)


Добавлено, спустя 11 минут:
Ах да, ещё хотел задать вопрос, возможно ли реализовать старт функции при любом переходе (будь то F5 или кнопка "назад" в браузере)?

dmitriymar 20.04.2013 15:14

Цитата:

Сообщение от enselerizer
Не понял ни слова

http://rutracker.org/forum/viewtopic.php?t=4212327

danik.js 20.04.2013 15:17

Цитата:

Сообщение от enselerizer
у меня есть скрипт на JQuery, добавляющий эффекты при постраничном переходе.

Тут нет ни капли jQuery ))
На jQuery этот скрипт будет выглядить в 15 раз короче, ибо есть $.fn.show и $.fn.hide
А вобще - выкиньте этот скрипт. Он только создает лишние задержки при без того не молниеносном переходе. Ладно бы еще контент через ajax подгрузался.

enselerizer 20.04.2013 16:51

Цитата:

Сообщение от danik.js (Сообщение 247310)
Тут нет ни капли jQuery ))
На jQuery этот скрипт будет выглядить в 15 раз короче, ибо есть $.fn.show и $.fn.hide
А вобще - выкиньте этот скрипт. Он только создает лишние задержки при без того не молниеносном переходе. Ладно бы еще контент через ajax подгрузался.

Ну, мне самому не нравится этот скрипт, была бы возможность написать свой, я так и сделал бы, но я в js полный ноль, почему и сижу на форуме)).

Ибо я сейчас работаю с html и css, да и php немного изучаю, на js времени не хватает =(

P.S. Всё это я делаю для этого сайта (а точнее, для личного кабинета):
http://pravilagrintech.p.ht/ (бесплатный хост для тестов)
Поэтому накладываются некоторые ограничения, например CMS DLE 9.8


Идеальным было бы включение в этот сайт ajax'a, но, проведя порядочно времени в гугле, понял что это пока не для меня...

enselerizer 21.04.2013 13:30

up

dmitriymar 21.04.2013 14:16

либо пункт 5 http://javascript.ru/forum/misc/3706...-otvetili.html
либо:
Вы просите готовый скрипт с нуля.

Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума "Работа".

Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела.


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