|
|
|
Вообщем я нашёл скрипт попапа:
Код: |
<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>
|
Мне нужно, чтобы это окно появлялось при нажатии на ссылку. Подскажите пожалуйста, как это можно реализовать? |
|
|
|
|
|
На фига такой огород городить?! Есть отличный плагин для JQuery. Посмотри там в примерах внизу страницы есть строчка:
Цитата: |
3. Styling -- a. view (dialog), b. view (alert), c. view (notice)
|
Я так понимаю, что тебе нужна функциональность, похожая на ту что в пункте b. Ежели надо что-то изменить в popup'е, то опций там много -можно сделать popup на любой вкус.
В принципе, там все элементарно, но если будет нужна помощь - стукнись в личку - помогу. |
|
|
|
|
|
Код: |
<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>
|
|
|
|
|
|
|
-=Faraon=-, спасибо, только почему когда нажимаешь на ссылку ничего ен появляется (
captain Keen, интересный вариант ты предложил. К сож. у тебя личка не работает. Может по аське спишимся? моя 4адин4-8шесть7-8нолик7
UPD: Хотя вроде разобрался уже. Спасибо, реально классная вещь |
|
Последний раз редактировалось: sydoow (Пт Окт 24, 2008 6:26 am), всего редактировалось 1 раз |
|
|
|
|
captain Keen, неа, нифига у меня не получилось
Я делал:
1) взял код из "Javascript" и вставил его после <body>, между тэгами <script type="text/javascript"> и </script>
2) взял код из "CSS" и вставил его после <head>, между тэгами <style type="text/css"> и </style>
3) взял код из "HTML" и вставил его после <body>
В чём моя ошибка? Расскажи по возможности здесь, т.к. я не знаю когда появлюсь в аське. Я взял попап из первого примера. Кстате, если возможно, напиши как засунуть текст в отдельный файл. |
|
|
|
|
|
sydoow, код -=Faraon=--а отлично работает, просто переносы строк кое-где надо убрать и в тегах там ошибочка, и вот это:
должно так
выглядеть, ">" пропущена .
Открой в дриме или еще где, где есть подсветка синтаксиса, сам увидишь
Ну и само собой <html><body> не забудь, забыл ведь, признайся |
|
|
|
|
|
не работает вот код какой я вставил:
Код: |
<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>
|
|
|
|
|
|
|
Цитата: |
Мне нужно, чтобы это окно появлялось при нажатии на ссылку. Подскажите пожалуйста, как это можно реализовать?
|
при любом нажатии на страничке можно открыть обычну консоль (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()
b.submit();
... но тогда консоль неоткроеться..... |
|
|
|
|
|
Оффтоп: |
могу подробнее решить Тебе задачу.. если смогу..
тогда пиши в ПМ и готовь лошадку/пони мне
ПС_ раньше я тут консолями то торговал по 5-20 ВМЗ
а потом когда она переставала работать .. через 2-3 мес.. ко мне стучали некоторые и говорили что - "что за Х ?"
а я им - А что вы хотели за 20 ВМЗ ? 5 лет гарантии ??
|
|
|
|
|
|
|
-=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>
|
|
а где тут сама линка на открытии ?
ВАША КАРТИНКА -- это и есть линк в попе кот ? |
|
|
|
|
|
sydoow писал(а): |
captain Keen, неа, нифига у меня не получилось
Я делал:
1) взял код из "Javascript" и вставил его после <body>, между тэгами <script type="text/javascript"> и </script>
2) взял код из "CSS" и вставил его после <head>, между тэгами <style type="text/css"> и </style>
3) взял код из "HTML" и вставил его после <body>
В чём моя ошибка? Расскажи по возможности здесь, т.к. я не знаю когда появлюсь в аське. Я взял попап из первого примера. Кстате, если возможно, напиши как засунуть текст в отдельный файл.
|
Не знаю что у меня с личкой, но твоих сообщений не видел
Я не понял какой ты джаваскрипт вставил. У тебя должны вызываться по меньше мере 3 джаваскрипта - сам JQuery, плагин к нему jqModal и скрипт, привязывающий всплывание попапа по клику на конкретной ссылке.
Вставляй эти скрипты в Head документа, т.к. JQuery не по onLoad, а по document.ready запускается.
CSS может быть любой, в этом и прелесть плагина что у тебя все что ты хочешь может быть попапом.
P.S. Я тебе в аську стукнул, ежели понадобятся уточнения - обращайся. |
|
|
|
|
|
captain Keen, у тебя личка будет работать от 30 сообщений, поэтому писать я тебе туда не стал.
На вуходных загулял , поэтому в инете не было меня. Сообщение в аське получил, спасибо что отликнулся
Но, прочитав ключевые слова из твоего последнего сообщения:
Цитата: |
У тебя должны вызываться по меньше мере 3 джаваскрипта - сам JQuery, плагин к нему jqModal и скрипт, привязывающий всплывание попапа по клику на конкретной ссылке.
Вставляй эти скрипты в Head документа
|
я у меня всё получилось сделать!
СПАСИБО!!!
ЗЫ: IseeDeadPeople, спасибо за предлагаемую помощь, но вариант captain Keenа мне понравился намного больше чем то, что я хотел сделать изначально, красивее, и браузеры не воспринимают это как попап |
|
|
|
|
|
|
|