Нужна помощь в модификации скрипта
Появилась идея модифицировать скрипт
<SCRIPT LANGUAGE="JavaScript"> function getCookie(name) { var cookie = " " + document.cookie; var search = " " + name + "="; var setStr = null; var offset = 0; var end = 0; if (cookie.length > 0) { offset = cookie.indexOf(search); if (offset != -1) { offset += search.length; end = cookie.indexOf(";", offset) if (end == -1) { end = cookie.length; } setStr = unescape(cookie.substring(offset, end)); } } return(setStr);} var block = document.cookie.indexOf('block'); if ( block != -1 ) { alert('привет'); } else { alert('пока'); } </SCRIPT> А смысл такой. В скрипте видно что при наличии куки block высвечивается одно сообщение, а при отсутствии другое. Но хочется его немного изменить. Нужно чтобы при наличии куки block высвечивалась ссылка на нужную страницу сайта, а при отсутствии ссылка не должна высвечиваться. Нашел как сделать ссылку невидимой или видимой <span style="visibility: hidden "> <a href="http://Мой сайт">Видимая/Невидимая ссылка</A> </span> попробовал сделать следующее <SCRIPT LANGUAGE="JavaScript"> function getCookie(name) { var cookie = " " + document.cookie; var search = " " + name + "="; var setStr = null; var offset = 0; var end = 0; if (cookie.length > 0) { offset = cookie.indexOf(search); if (offset != -1) { offset += search.length; end = cookie.indexOf(";", offset) if (end == -1) { end = cookie.length; } setStr = unescape(cookie.substring(offset, end)); } } return(setStr);} var block = document.cookie.indexOf('block'); if ( block != -1 ) { <span style="visibility: visible "><a href="http://Мой сайт">Видимая ссылка</A></span> } else { <span style="visibility: hidden "><a href="http://Мой сайт">Невидимая ссылка</A></span> } </SCRIPT> Но как вы уже догадались ничего не получилось. Насколько я понял строки <span></span> в самом скрипте быть не должно и ссылка на страницу может быть в любом другом месте. Но как тогда вызвать скрипт и присвоить значение visible или hidden в зависимости от наличия или отсутствия куки block? |
пропиши айдишник своему span'у, по нему можешь управлять видимостью:
document.getElementById('mylink').style.display = 'none' // 'inline' для видимости |
А куда это нужно вставлять?
|
Туда же
|
Значит, как я понимаю, скрипт должен иметь такой вид?
<SCRIPT LANGUAGE="JavaScript"> function getCookie(name) { var cookie = " " + document.cookie; var search = " " + name + "="; var setStr = null; var offset = 0; var end = 0; if (cookie.length > 0) { offset = cookie.indexOf(search); if (offset != -1) { offset += search.length; end = cookie.indexOf(";", offset) if (end == -1) { end = cookie.length; } setStr = unescape(cookie.substring(offset, end)); } } return(setStr);} var block = document.cookie.indexOf('block'); if ( block != -1 ) { document.getElementById('mylink').style.display = 'inline';} else { document.getElementById('mylink').style.display = 'none'; } </SCRIPT> Появляется еще вопрос КУДА ВСТАВЛЯТЬ ССЫЛКУ НА СТРАНИЦУ? |
Цитата:
|
То есть как то так?
<SCRIPT LANGUAGE="JavaScript"> function getCookie(name) { var cookie = " " + document.cookie; var search = " " + name + "="; var setStr = null; var offset = 0; var end = 0; if (cookie.length > 0) { offset = cookie.indexOf(search); if (offset != -1) { offset += search.length; end = cookie.indexOf(";", offset) if (end == -1) { end = cookie.length; } setStr = unescape(cookie.substring(offset, end)); } } return(setStr);} var block = document.cookie.indexOf('block'); if ( block != -1 ) { document.getElementById('mylink').style.display = 'inline';} else { document.getElementById('mylink').style.display = 'none'; } </SCRIPT> <span style="id='mylink'"><a href="http://test.com">Невидимая ссылка</A></span> |
Почти. только скрипт нужно опустить ниже, либо ждать события DOMContentLoaded
|
Ниже span?
|
Если честно я не совсем до конца понимаю этот алгоритм. На данный момент ссылка "Невидимая ссылка" высвечивается постоянно.
|
Цитата:
<span id="mylink"> |
Это был эксперимент. Неудачный.
Если рассуждать логично, строка со ссылкой должна иметь примерно такой вид <span style="visibility: hidden "><a href="http://Мой сайт">Невидимая ссылка</a> </span> } а параметр hidden как то должен менять на visible в зависимости от значения 'mylink', т.е. none или inline. Такое ощущение что это масло маслянное. Но ведь должно же быть какое то решение... |
<SCRIPT LANGUAGE="JavaScript"> function getCookie(name) { var cookie = " " + document.cookie; var search = " " + name + "="; var setStr = null; var offset = 0; var end = 0; if (cookie.length > 0) { offset = cookie.indexOf(search); if (offset != -1) { offset += search.length; end = cookie.indexOf(";", offset) if (end == -1) { end = cookie.length; } setStr = unescape(cookie.substring(offset, end)); } } return(setStr);} var block = document.cookie.indexOf('block'); if ( block != -1 ) { document.getElementById('mylink').style.display = 'inline';} else { document.getElementById('mylink').style.display = 'none'; } </SCRIPT> <span id="mylink"><a href="http://test.com">Невидимая ссылка</a></span> Ссылка высвечивается при любых условиях... Подскажите пожалуйста, что не так... |
Цитата:
|
Понять все это не каждому дано... Я всю жизнь отработал за станком и могу с закрытыми глазами выточить любую деталь, а разобраться во всем этом не получается, хотя очень надо.
Спасибо за помощь! Буду стараться дальше. |
Отсылка была к #8 комментарию (про порядок скрипта и ссылки)
|
Часовой пояс GMT +3, время: 10:46. |