Вывод ссылки
Есть вот такой вот код:
<script> $(function(){ $('#link6').click(function(){ window.open("view.php?ad=6", '_blank'); }); }); </script> <table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'> <tr> <td class='normal' width='40' valign='top'> <span class="serfimghigh"></span></td> <td class='normal' valign='top' style='font-size:11px;padding-top:10px;'> Мы предлагаем<span id='link6' class='serfgo'> ва</span>м прямо сейчас начать зарабатывать на нашем проекте. </td> </tr></table> Суть его в том, что нажимая на определнный участок текста у нас открывается новая страница. 1) Как сделать чтоб сначала мы нажимаем на определнный текст, 2) Далее вместо текста надпись перейти на сайт. 3) И После перехода на сайт, у нас появится надпись: спасибо что перешли. Если кто может помогите пожалуйста |
Цитата:
И, BTW, open большинством браузеров блокируется сейчас, лучше его не пользовать. |
Не на новом сайте, а на старом сайте место кнопки перейти появится спасибо что перешли
|
![]() Вот так выглядит 1,2,3 стадии |
<!DOCTYPE html> <html> <head> </head> <div id="wrapper"> <button>GO</button> </div> <body> <script> wrapper=document.querySelector("#wrapper") go=function(){setTimeout(function(){open("http://javascript.ru")}, 1000)} wrapper.onclick=function(){this.innerHTML="<span>Thanks</span>", go()} </script> </body> </html> |
что та не совсем так как нужно.
надо вот так: Нажимаю на текст, вылазит ссылка место текста, перехожу по ссылке, и место ссылки текст номер 2 |
Что-то вроде этого наверное. Полностью рабочий код протестить дать не могу, спать охота :) но направление куда двигаться ты надеюсь поймешь.
$('#link6').click(function(){ $('#link6').off('click'); $(this).html($('<a class="real_href" href="туда">Туда</a>')) $(this).find('.real_href').on('click',function(){ $(this).html('<p>молодец что нажал</p>') window.open($(this).attr('href'), '_blank'); }) }); |
<!DOCTYPE html> <html> <head> </head> <div id="wrapper"> <p>The Best Partner Programm here</p> </div> <body> <script> wrapper=document.querySelector("#wrapper") go=function(){ wrapper.innerHTML="thanks"; setTimeout(function(){open("http://javascript.ru")}, 1000);} wrapper.onclick=function(){this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go} </script> </body> </html> |
Сделал для нескольких ссылок, но не работает чего-то, только по 1
<script> wrapper=document.querySelector("#wrapper3") go=function(){ wrapper.innerHTML="thanks"; setTimeout(function(){open("view.php?ad=7")}, 1000);} wrapper.onclick=function(){this.innerHTML="<div class='gos'>Переход по ссылке</div>"; this.onclick=go} </script> <script> wrapper=document.querySelector("#wrapperc") go=function(){ wrapper.innerHTML="thanks"; setTimeout(function(){open("view.php?ad=6")}, 1000);} wrapper.onclick=function(){this.innerHTML="<div class='gos'>Переход по ссылке</div>"; this.onclick=go} </script> <script> wrapper=document.querySelector("#wrapper5") go=function(){ wrapper.innerHTML="thanks"; setTimeout(function(){open("view.php?ad=5")}, 1000);} wrapper.onclick=function(){this.innerHTML="<div class='gos'>Переход по ссылке</div>"; this.onclick=go} </script> <div id='wrapper3'><span class='serfgo'>222</span>222222</div> <div id='wrapperc'>Мы предлагаем вам прямо сейчас нача<span class='serfgo'>ть </span>зарабатывать на нашем проек</div> <div id='wrapper5'>Д<span class='serfgo'>обр</span>о пожаловать</div> |
и еще проблема, когда появляется thanks, если еще раз на него нажать то перейдет опять по ссылке, а такого быть не должно
|
<!DOCTYPE html> <html> <head> </head> <body> <div id="wrapper1"> <p>best partners 1</p> </div> <div id="wrapper2"> <p>best partners 2</p> </div> <body> <div id="wrapper3"> <p>best partners 3</p> </div> <body> <script> get=document.querySelector.bind(document) wrapper1=get("#wrapper1") wrapper2=get("#wrapper2") wrapper3=get("#wrapper3") go=function(el){return function(){ el.innerHTML="thanks"; el.onclick=null; setTimeout(function(){open("http://javascript.ru")}, 1000);}} wrapper1.onclick=wrapper2.onclick=wrapper3.onclick=function(){ this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go(this)} </script> </body> </html> |
еще можно чтоб когда thanks и нажимаешь не перекидывало снова на сайт
|
Цитата:
|
Осталось проблема еще одна, я ссылки добавляю они друг за другом идут, около 100 ссылок всего будет. Нельзя ли по другому как-то сделать? а то много id писать для 100 ссылок
|
они у меня идут с айди с базы, можно эти айди как-то вписать?
|
<!DOCTYPE html> <html> <head> </head> <body> <div name="wrapper"> <p>best partners 1</p> </div> <div name="wrapper"> <p>best partners 2</p> </div> <body> <div name="wrapper"> <p>best partners 3</p> </div> <body> <script> partners=document.getElementsByName("wrapper") go=function(el){return function(){ el.innerHTML="thanks"; el.onclick=null; setTimeout(function(){open("http://javascript.ru")}, 1000);}} redirect=function(){ this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go(this)} for(i=0; i<partners.length; i++) partners[i].onclick=redirect </script> </body> </html> |
porezon,
таймаут можешь убрать, кстати, это просто для наглядности, технически он там не нужен. |
теперь проблема с ссылками, разные ссылки везде, а открывает одну и туже
|
Ты ссылки в чем хранишь, в массиве?
|
они в базе , вывожу их через mysql_fetch_assoc
|
<table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'> <tr> <td class='normal' valign='top' style='font-size:12px;padding-top:10px;'> <div id='wrapper'>22<span class='serfgo'>222</span>2222</div> </td> </tr> </table> <table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'> <tr> <td class='normal' valign='top' style='font-size:12px;padding-top:10px;'> <div id='wrapper'>22<span class='serfgo'>222</span>2222</div> </td> </tr> </table> <table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'> <tr> <td class='normal' valign='top' style='font-size:12px;padding-top:10px;'> <div id='wrapper'>22<span class='serfgo'>222</span>2222</div> </td> </tr> </table> <table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'> <tr> <td class='normal' valign='top' style='font-size:12px;padding-top:10px;'> <div id='wrapper'>22<span class='serfgo'>222</span>2222</div> </td> </tr> </table> <table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'> <tr> <td class='normal' valign='top' style='font-size:12px;padding-top:10px;'> <div id='wrapper'>Мы предлагаем вам прямо сейчас начать <span class='serfgo'>зар</span>абатывать на нашем проек</div> </td> </tr> </table> |
вот так вот они идут друг за другом
|
porezon,
я там ссылки не вижу. Они, наверное, генерируются каким-то внешним кодом, вряд ли я смогу тут помочь. Ссылки -- это код вида <a href="http://site.ru">link</a>. Или, хотя бы адреса. Там их нет. |
я их вставляю туда где ты прописал, и получается вот такое вот всё
|
<script> partners=document.getElementsByName("wrapper") go=function(el){return function(){ el.innerHTML="<div class='ok'>Спасибо за просмотр</div>"; el.onclick=null; setTimeout(function(){open("view.php?ad=7")}, 1000);}} redirect=function(){this.innerHTML="<div class='gos'>Просмотреть сайт рекламодателя</div>"; this.onclick=go(this)} for(i=0; i<partners.length; i++) partners[i].onclick=redirect </script> <table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'> <tr> <td class='normal' width='40' valign='top'> <span class="serfimghigh"></span></td> <td class='normal' valign='top' style='font-size:12px;padding-top:10px;'> <div name='wrapper'>22222<span class='serfgo'>222</span>2<br /> <span class='desctext'>http://2222222222 | Таймер: 20 сек. | (new) | <span class="clickprice">VIP</span></span> </div> </td> <td class='normal' nowrap='nowrap' valign='top' style='width: 70px; text-align: right; padding-right: 10px;'> <span class='smoolgray' title='Осталось визитов'>(100) </span> <span class='clickprice' title='Стоимость просмотра'>0.021 руб.</span><br /> <a class='workcompn' onclick='hideserfaddblock("comp69");' href="/zhaloba.php?id=7" title='Пожаловаться на рекламу'></a> <a class='workevents' target='_blank' title='Рекламодатель' href='wall.php?user=988'></a> <a class='workvirs' href='http://online.us.drweb.com/result/?url=http://2222222222' title='Проверить ссылку на вирусы' target='_blank'></a> </td> </tr> </table> <script> partners=document.getElementsByName("wrapper") go=function(el){return function(){ el.innerHTML="<div class='ok'>Спасибо за просмотр</div>"; el.onclick=null; setTimeout(function(){open("view.php?ad=6")}, 1000);}} redirect=function(){this.innerHTML="<div class='gos'>Просмотреть сайт рекламодателя</div>"; this.onclick=go(this)} for(i=0; i<partners.length; i++) partners[i].onclick=redirect </script> <table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'> <tr> <td class='normal' width='40' valign='top'> <span class="serfimghigh"></span></td> <td class='normal' valign='top' style='font-size:12px;padding-top:10px;'> <div name='wrapper'>Мы предлагаем вам прямо сей<span class='serfgo'>час</span> начать зарабатывать на нашем проек<br /> <span class='desctext'>http://rashabux.ru | Таймер: 20 сек. | (new) </span> </div> </td> <td class='normal' nowrap='nowrap' valign='top' style='width: 70px; text-align: right; padding-right: 10px;'> <span class='smoolgray' title='Осталось визитов'>(250) </span> <span class='clickprice' title='Стоимость просмотра'>0.021 руб.</span><br /> <a class='workcompn' onclick='hideserfaddblock("comp69");' href="/zhaloba.php?id=6" title='Пожаловаться на рекламу'></a> <a class='workevents' target='_blank' title='Рекламодатель' href='wall.php?user=988'></a> <a class='workvirs' href='http://online.us.drweb.com/result/?url=http://rashabux.ru/' title='Проверить ссылку на вирусы' target='_blank'></a> </td> </tr> </table> <script> partners=document.getElementsByName("wrapper") go=function(el){return function(){ el.innerHTML="<div class='ok'>Спасибо за просмотр</div>"; el.onclick=null; setTimeout(function(){open("view.php?ad=5")}, 1000);}} redirect=function(){this.innerHTML="<div class='gos'>Просмотреть сайт рекламодателя</div>"; this.onclick=go(this)} for(i=0; i<partners.length; i++) partners[i].onclick=redirect </script> <table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'> <tr> <td class='normal' width='40' valign='top'> <span class="serfimghigh"></span></td> <td class='normal' valign='top' style='font-size:12px;padding-top:10px;'> <div name='wrapper'>Добр<span class='serfgo'>о п</span>ожаловать<br /> <span class='desctext'>http://rashabux.ru | Таймер: 20 сек. | (new) </span> </div> </td> <td class='normal' nowrap='nowrap' valign='top' style='width: 70px; text-align: right; padding-right: 10px;'> <span class='smoolgray' title='Осталось визитов'>(100) </span> <span class='clickprice' title='Стоимость просмотра'>0.021 руб.</span><br /> <a class='workcompn' onclick='hideserfaddblock("comp69");' href="/zhaloba.php?id=5" title='Пожаловаться на рекламу'></a> <a class='workevents' target='_blank' title='Рекламодатель' href='wall.php?user=988'></a> <a class='workvirs' href='http://online.us.drweb.com/result/?url=http://rashabux.ru/' title='Проверить ссылку на вирусы' target='_blank'></a> </td> </tr> </table> <script> partners=document.getElementsByName("wrapper") go=function(el){return function(){ el.innerHTML="<div class='ok'>Спасибо за просмотр</div>"; el.onclick=null; setTimeout(function(){open("view.php?ad=3")}, 1000);}} redirect=function(){this.innerHTML="<div class='gos'>Просмотреть сайт рекламодателя</div>"; this.onclick=go(this)} for(i=0; i<partners.length; i++) partners[i].onclick=redirect </script> |
porezon,
А зачем столько скриптов? нужен один, в конце body. Откуда ты вот эти ссылки view.php?ad=3 выдергиваешь? тебе по ним переходы нужны, насколько я понял? |
да по этим ссылкам переходы, обработчик обрабатывает цифру, и кидает нужной цифре на нужный сайт. я не могу один ставить. тогда не вставлю сссылку
|
Не уверен, что правильно понял, но если вопрос чисто в расстоновке номеров, можешь вот так попробовать
<!DOCTYPE html> <html> <head> </head> <div name="wrapper"> <p>best partners 1</p> </div> <body> <div name="wrapper"> <p>best partners 2</p> </div> <body> <div name="wrapper"> <p>best partners 3</p> </div> <body> <script> partners=document.getElementsByName("wrapper") go=function(el, num){return function(){ el.innerHTML="thanks"; el.onclick=null; open("view.php?ad="+num)}} redirect=function(num){return function(){ this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go(this, num)}} for(i=0; i<partners.length; i++) partners[i].onclick=redirect(i+1) </script> </body> </html> |
там где номера идут, там совсем разные могут от 1 до 100000 быть.
|
мне надо бы как-то этот номер передать в эту форму
Вот типа как-то так <div name="wrapper" id="22"> <p>best partners 1</p> </div> <div name="wrapper" id="1242"> <p>best partners 2</p> </div> и потом этот номер вывести в скрипт и чтоб перешло по нужной ссылке |
porezon,
Ссылка по id формируется? |
да, если какого-то ид нет в базе, ошибку выдаст. Надо как-то передавать иды, вывожу ид я вот так <?=$idh;?>
|
<!DOCTYPE html> <html> <head> </head> <div name="wrapper" id="1"> <p>best partners 1</p> </div> <body> <div name="wrapper" id="2"> <p>best partners 2</p> </div> <body> <div name="wrapper" id="3"> <p>best partners 3</p> </div> <body> <script> partners=document.getElementsByName("wrapper") go=function(el){return function(){ el.innerHTML="thanks"; el.onclick=null; open("view.php?ad="+this.id)}} redirect=function(){ this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go(this)} for(i=0; i<partners.length; i++) partners[i].onclick=redirect </script> </body> </html> |
Работает!!! Большое спасибо
|
porezon,
Даже лучше так: <!DOCTYPE html> <html> <head> </head> <div name="wrapper" id="1"> <p>best partners 1</p> </div> <body> <div name="wrapper" id="2"> <p>best partners 2</p> </div> <body> <div name="wrapper" id="3"> <p>best partners 3</p> </div> <body> <script> partners=document.getElementsByName("wrapper") go=function(){this.innerHTML="thanks"; this.onclick=null; open("view.php?ad="+this.id)} redirect=function(){ this.innerHTML="<a href='#'>click here to go to the site</a>"; this.onclick=go} for(i=0; i<partners.length; i++) partners[i].onclick=redirect </script> </body> </html> Не нужен там в go явный аргумент с замыканием. Это я че то запарился. |
еще проблемка.
вот так сейчас выглдит код: <script language="javascript" type="text/javascript"> partners=document.getElementsByName("wrapper") go=function(){this.innerHTML="<div class='ok'>Спасибо за просмотр</div>";this.onclick=null; open("view.php?ad="+this.id)} redirect=function(){this.innerHTML="<div class='gos'>Просмотреть сайт рекламодателя</div>"; this.onclick=go} for(i=0; i<partners.length; i++) partners[i].onclick=redirect </script> <table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'><tr><td> <div>Добро пожало<span name='wrapper' id='5' class='serfgo'>ват</span>ь<br /> <span class='desctext'>http://rashabux.ru | Таймер: 20 сек. | (new) </span> </div> </td></tr></table> но проблемма сейчас такая, что часть текста пропадат только, там где спан. На весь текст я немогу поставить спан, только на 3 символа из текста. Надо как-то сделать чтоб остальной текст тоже пропадал. |
![]() вот так выглядит. Лишней текст бы убрать как-то |
porezon,
А почему нельзя выводить вместо этого говна <div>Добро пожало<span name='wrapper' id='5' class='serfgo'>ват</span>ь<br /> <span class='desctext'>http://rashabux.ru | Таймер: 20 сек. | (new) </span> </div> Например вот так <span name='wrapper' id='5' class='serfgo'>Добро пожаловать</span><br /> <span class='desctext'>http://rashabux.ru | Таймер: 20 сек. | (new) </span> ? Я, честно сказать, запарился решать твои проблемы, которые уже далеко за гранью патологии. |
Тогда я могу нажать на любую часть ссылки, а мне надо только 3 ссимвола нажимать из всего текста.
Я так сначала и сделал, но смысл потерялс из 3 символов |
расскажи как вставить просто в этот див скрытие текста. И я уже сам подставлю как нужно
|
Часовой пояс GMT +3, время: 14:16. |