Как открыть яваскрипт по ссылке?
Новая тема Написать ответ
# Ср Окт 22, 2008 2:36 pmsydoow Зарег.: 29.06.2007 ; Сообщ.: 8213Ответить с цитатой
Вообщем я нашёл скрипт попапа:
Код:
<div id="divStayTopLeft" style="position:absolute"><center>
<a href="ССЫЛКА" target="blank"><img src="ВАША КАРТИНКА" border=0 ></a><br>
<a href="javascript: hiddenLayer()"><b>CLOSE[X]</b></a></center>

<script type="text/javascript">
function JSFX_FloatTopLeft()
{
var startX = 300, startY = 100;
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
var px = document.layers ? "" : "px";
function ml(id)
{
var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};
el.x = startX; el.y = startY;
return el;
}
window.stayTopLeft=function()
{
var pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ?
document.documentElement.scrollTop : document.body.scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/16;
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 1);
}
ftlObj = ml("divStayTopLeft");
stayTopLeft();
}
function hiddenLayer() {
NC = (document.layers);
IE = (document.all);
Opera = (document.getElementById);

if(IE) eval('document.all["divStayTopLeft"].style.visibility = "hidden"');
if(NC) eval('document.layers["divStayTopLeft"].visibility = "hidden"');
if(Opera) eval('document.getElementById("divStayTopLeft").style.visibility = "hidden"');
}
JSFX_FloatTopLeft();
</script></div>


Мне нужно, чтобы это окно появлялось при нажатии на ссылку. Подскажите пожалуйста, как это можно реализовать?
# Ср Окт 22, 2008 6:02 pmcaptain Keen Зарег.: 22.10.2008 ; Сообщ.: 206Ответить с цитатой
На фига такой огород городить?! Есть отличный плагин для JQuery. Посмотри там в примерах внизу страницы есть строчка:
Цитата:
3. Styling -- a. view (dialog), b. view (alert), c. view (notice)


Я так понимаю, что тебе нужна функциональность, похожая на ту что в пункте b. Ежели надо что-то изменить в popup'е, то опций там много -можно сделать popup на любой вкус.

В принципе, там все элементарно, но если будет нужна помощь - стукнись в личку - помогу.
# Чт Окт 23, 2008 2:49 pm-=Faraon=- Зарег.: 29.08.2008 ; Сообщ.: 114Ответить с цитатой
Код:
<a href="javascript:JSFX_FloatTopLeft();">OPEN POPUP</a>
<div id="divStayTopLeft" style="position:absolute;visibility:hidden"><center>
<a href="ССЫЛКА" target="blank"><img src="ВАША КАРТИНКА" border=0 ></a><br>
<a href="javascript: hiddenLayer()"><b>CLOSE[X]</b></a></center>
</div>
<script type="text/javascript">
function JSFX_FloatTopLeft()
{
document.all["divStayTopLeft"].style.visibility = "visible";
var startX = 300, startY = 100;
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
var px = document.layers ? "" : "px";
function ml(id)
{
var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};
el.x = startX; el.y = startY;
return el;
}
window.stayTopLeft=function()
{
var pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ?
document.documentElement.scrollTop : document.body.scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/16;
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 1);
}
ftlObj = ml("divStayTopLeft");
stayTopLeft();
}
function hiddenLayer() {
NC = (document.layers);
IE = (document.all);
Opera = (document.getElementById);

if(IE) eval('document.all["divStayTopLeft"].style.visibility = "hidden"');
if(NC) eval('document.layers["divStayTopLeft"].visibility = "hidden"');
if(Opera) eval('document.getElementById("divStayTopLeft").style.visibility = "hidden"');
}
</script>

# Пт Окт 24, 2008 2:32 amsydoow Зарег.: 29.06.2007 ; Сообщ.: 8213Ответить с цитатой
-=Faraon=-, спасибо, только почему когда нажимаешь на ссылку ничего ен появляется (
captain Keen, интересный вариант ты предложил. К сож. у тебя личка не работает. Может по аське спишимся? моя 4адин4-8шесть7-8нолик7 Smile

UPD: Хотя вроде разобрался уже. Спасибо, реально классная вещь :thup:


Последний раз редактировалось: sydoow (Пт Окт 24, 2008 6:26 am), всего редактировалось 1 раз
# Пт Окт 24, 2008 6:15 amsydoow Зарег.: 29.06.2007 ; Сообщ.: 8213Ответить с цитатой
captain Keen, неа, нифига у меня не получилось Sad
Я делал:
1) взял код из "Javascript" и вставил его после <body>, между тэгами <script type="text/javascript"> и </script>
2) взял код из "CSS" и вставил его после <head>, между тэгами <style type="text/css"> и </style>
3) взял код из "HTML" и вставил его после <body>
В чём моя ошибка? Расскажи по возможности здесь, т.к. я не знаю когда появлюсь в аське. Я взял попап из первого примера. Кстате, если возможно, напиши как засунуть текст в отдельный файл.
# Пт Окт 24, 2008 2:31 pmRonald Wild Зарег.: 29.09.2006 ; Сообщ.: 1959Ответить с цитатой
sydoow, код -=Faraon=--а отлично работает, просто переносы строк кое-где надо убрать и в тегах там ошибочка, и вот это:
Код:
CLOSE[X]</b&g

должно так
Код:
CLOSE[X]</b>&g

выглядеть, ">" пропущена .
Открой в дриме или еще где, где есть подсветка синтаксиса, сам увидишь
Ну и само собой <html><body> не забудь, забыл ведь, признайся :mrgreen:
# Сб Окт 25, 2008 11:56 amsydoow Зарег.: 29.06.2007 ; Сообщ.: 8213Ответить с цитатой
не работает Sad вот код какой я вставил:
Код:


<a href="javascript:JSFX_FloatTopLeft();">OPEN POPUP</a>
<div id="divStayTopLeft" style="position:absolute;visibility:hidden">;
<center>
<a href="ССЫЛКА" target="blank"><img src="ВАША КАРТИНКА" border=0 ></a><br>
<a href="javascript: hiddenLayer()"><b>CLOSE[X]</b></a></center>
</div>

<script type="text/javascript">
function JSFX_FloatTopLeft()
{
var startX = 300, startY = 100;
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
var px = document.layers ? "" : "px";
function ml(id)
{
var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};
el.x = startX; el.y = startY;
return el;
}
window.stayTopLeft=function()
{
var pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ?
document.documentElement.scrollTop : document.body.scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/16;
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 1);
}
ftlObj = ml("divStayTopLeft");
stayTopLeft();
}
function hiddenLayer() {
NC = (document.layers);
IE = (document.all);
Opera = (document.getElementById);

if(IE) eval('document.all["divStayTopLeft"].style.visibility = "hidden"');
if(NC) eval('document.layers["divStayTopLeft"].visibility = "hidden"');
if(Opera) eval('document.getElementById("divStayTopLeft").style.visibility = "hidden"');
}
</script>


# Вс Окт 26, 2008 12:17 pmIseeDeadPeople Зарег.: 06.12.2005 ; Сообщ.: 21735Ответить с цитатой
Цитата:
Мне нужно, чтобы это окно появлялось при нажатии на ссылку. Подскажите пожалуйста, как это можно реализовать?



при любом нажатии на страничке можно открыть обычну консоль (window.open("")) кажеться... только если у юзера не HIGH сикурити в ИЕ стоит.

напр <a id="a" name="a" onClick="window.open('');" href="pony"></a>

также в <form id="b" name="b" ... onsubmit="window.open('');".....

и средствами СТР можно и самому кликнуть по ссылке, нажать на форму
a.click(); (или с заглавной будет Click - один вариант точно нерабочий)
(a.Сlick()Wink
b.submit();
... но тогда консоль неоткроеться.....
# Вс Окт 26, 2008 12:19 pmIseeDeadPeople Зарег.: 06.12.2005 ; Сообщ.: 21735Ответить с цитатой
Оффтоп:
могу подробнее решить Тебе задачу.. если смогу..
тогда пиши в ПМ и готовь лошадку/пони мне

ПС_ раньше я тут консолями то торговал по 5-20 ВМЗ

а потом когда она переставала работать .. через 2-3 мес.. ко мне стучали некоторые и говорили что - "что за Х ?"

а я им - А что вы хотели за 20 ВМЗ ? 5 лет гарантии ??

# Вс Окт 26, 2008 12:21 pmIseeDeadPeople Зарег.: 06.12.2005 ; Сообщ.: 21735Ответить с цитатой
-=Faraon=- писал(а):
Код:
<a href="javascript:JSFX_FloatTopLeft();">OPEN POPUP</a>
<div id="divStayTopLeft" style="position:absolute;visibility:hidden"><center>
<a href="ССЫЛКА" target="blank"><img src="ВАША КАРТИНКА" border=0 ></a><br>
.........
.........
.........
.........
lementById);

if(IE) eval('document.all["divStayTopLeft"].style.visibility = "hidden"');
if(NC) eval('document.layers["divStayTopLeft"].visibility = "hidden"');
if(Opera) eval('document.getElementById("divStayTopLeft").style.visibility = "hidden"');
}
</script>




а где тут сама линка на открытии ?
ВАША КАРТИНКА -- это и есть линк в попе кот ?
# Вс Окт 26, 2008 2:23 pmcaptain Keen Зарег.: 22.10.2008 ; Сообщ.: 206Ответить с цитатой
sydoow писал(а):
captain Keen, неа, нифига у меня не получилось Sad
Я делал:
1) взял код из "Javascript" и вставил его после <body>, между тэгами <script type="text/javascript"> и </script>
2) взял код из "CSS" и вставил его после <head>, между тэгами <style type="text/css"> и </style>
3) взял код из "HTML" и вставил его после <body>
В чём моя ошибка? Расскажи по возможности здесь, т.к. я не знаю когда появлюсь в аське. Я взял попап из первого примера. Кстате, если возможно, напиши как засунуть текст в отдельный файл.



Не знаю что у меня с личкой, но твоих сообщений не видел Sad

Я не понял какой ты джаваскрипт вставил. У тебя должны вызываться по меньше мере 3 джаваскрипта - сам JQuery, плагин к нему jqModal и скрипт, привязывающий всплывание попапа по клику на конкретной ссылке.
Вставляй эти скрипты в Head документа, т.к. JQuery не по onLoad, а по document.ready запускается.

CSS может быть любой, в этом и прелесть плагина что у тебя все что ты хочешь может быть попапом.

P.S. Я тебе в аську стукнул, ежели понадобятся уточнения - обращайся.
# Пн Окт 27, 2008 5:08 amsydoow Зарег.: 29.06.2007 ; Сообщ.: 8213Ответить с цитатой
captain Keen, у тебя личка будет работать от 30 сообщений, поэтому писать я тебе туда не стал.
На вуходных загулял Wink, поэтому в инете не было меня. Сообщение в аське получил, спасибо что отликнулся Smile

Но, прочитав ключевые слова из твоего последнего сообщения:
Цитата:
У тебя должны вызываться по меньше мере 3 джаваскрипта - сам JQuery, плагин к нему jqModal и скрипт, привязывающий всплывание попапа по клику на конкретной ссылке.
Вставляй эти скрипты в Head документа


я у меня всё получилось сделать! Smile
СПАСИБО!!! Drinks or Beer

ЗЫ: IseeDeadPeople, спасибо за предлагаемую помощь, но вариант captain Keenа мне понравился намного больше чем то, что я хотел сделать изначально, красивее, и браузеры не воспринимают это как попап Smile
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ
 
Любое использование материалов, размещенных на ArmadaBoard.com, без разрешения владельцев ArmadaBoard.com запрещено.