Некорректно работает Javascript
423
0
Посоветуйте, в чем может быть проблема.
Скрипт маскировки данных:
Я пользуюсь гугловской:
Для того, чтобы использовать его несколько раз на странице и не прописывать постоянно одно и тоже, я поместил его в функцию, и добавил к нему уникальный идентификатро:
Используется так:
Скрипт маскировки данных:
echo '<script type="text/javascript"> function nombersShow(){ document.all.raw.style.display=\'\' document.all.raw.style.visibility=\'visible\' document.all.nombers.href="javascript:no mbersHide()" } function nombersHide(){ document.all.raw.style.display=\'none\' document.all.raw.style.visibility=\'hidden\' document.all.nombers.href="javascript:no mbersShow()" } </script>';Используется так:
<a href="javascript:no mbersShow()" id="nombers">Открыть скрытые данные</a> <div id="raw" style="DISPLAY: none; VISIBILITY: hidden"> ЗДЕСЬ СКРЫТЫЕ ДАННЫЕ </div>Соответственно, в заголовках должна быть подключена библиотека jQuery.
Я пользуюсь гугловской:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>Если использовать таким образом, то корректно работает во всех браузерах
Для того, чтобы использовать его несколько раз на странице и не прописывать постоянно одно и тоже, я поместил его в функцию, и добавил к нему уникальный идентификатро:
function maskJava($param) { echo '<script type="text/javascript"> function nombers' . $param . 'Show(){ document.all.raw' . $param . '.style.display=\'\' document.all.raw' . $param . '.style.visibility=\'visible\' document.all.nombers' . $param . '.href="javascript:no mbers' . $param . 'Hide()" } function nombers' . $param . 'Hide(){ document.all.raw' . $param . '.style.display=\'none\' document.all.raw' . $param . '.style.visibility=\'hidden\' document.all.nombers' . $param . '.href="javascript:nombers' . $param . 'Show()" } </script>'; }где $param - и есть этот уникальный идентификатор.
Используется так:
$parametr = 'life'; maskJava($parametr); <a href="javascript:nombers' . $parametr . 'Show()" id="nombers' . $parametr . '">Открыть скрытые данные</a> <div id="raw' . $parametr . '" style="DISPLAY: none; VISIBILITY: hidden"> ЗДЕСЬ СКРЫТЫЕ ДАННЫЕ </div>
Изменил: Дмитрий (12.03.2011 / 17:23)
0
НО, теперь, когда этот джаваскрипт находится внутри функции, он перестал работать именно в Мозилле всех версий. В других браузерах все корректно работает.
В чем может быть причина?
Пример: http://soostar.net/id1 (Нажмите на "Показать подробную информацию" или "Статистика" или "Активность на сайте")
В чем может быть причина?
Пример: http://soostar.net/id1 (Нажмите на "Показать подробную информацию" или "Статистика" или "Активность на сайте")
fhgdfhdfhdf
15.03.2011 / 10:43
Землянин
Землянин
0
Может я что то не так понял, но почему не сделать так:
js:
html:
js:
$(document).ready(function() { $('#gallery').hide(); $('#svert').toggle(function() { $('#gallery').slideDown(2000); $(this).text('[Свернуть галлерею]') },function() { $('#gallery').slideUp(2000); $(this).text('[Развернуть галлерею]') }); }); // Конец ready
html:
<div id='svert'>[Развернуть галлерею]</div> <div id="gallery"> то что скрыть тут </div>
Изменил: fhgdfhdfhdf (15.03.2011 / 10:45)
0
4. 6680, если честно, я ничего не понял в твоем джаваскрипте.
fhgdfhdfhdf
15.03.2011 / 21:09
Землянин
Землянин
0
$(document).ready(function() { // функция дожидающаяся загрузки DOM $('#gallery').hide(); // ищет блок с ид gallery и прячет его $('#svert').toggle(function() { // отберает блок с ссылкой на свертывания развертывания скрытого блока и применяет к нему функцию $('#gallery').slideDown(2000); // говорит о том что после нажатия на ссылку через 2000 милисекунд появиться блок gallery методом slideDown $(this).text('[Свернуть галлерею]') // заменяет текст ссылки },function() { //функция скрывает обратно блок $('#gallery').slideUp(2000); // методом slideUp за 2000 доли сек $(this).text('[Развернуть галлерею]') // заменяет текст ссылки }); }); // Конец ready
Зная) из меня плохой учитель) обьясняю как умею) да, самое важное. для работы нужна библиотека JQuery 1.4.2 на других не знаю работает ли...
0
Есть такая трабла с мозилой, плавали, знаем...
Лечиться это так, меняем все строки, типа:
на
Добавлено через 05:25 сек.
В общем должно получиться так:
Лечиться это так, меняем все строки, типа:
document.all.raw.style.display=\'\'
на
document.getElementById(\'raw\').style.display=\'\'
Добавлено через 05:25 сек.
В общем должно получиться так:
function maskJava($param) { echo '<script type="text/javascript"> function nombers' . $param . 'Show(){ document.getElementById(\'raw' . $param . '\').style.display=\'\' document.getElementById(\'raw' . $param . '\').style.visibility=\'visible\' document.getElementById(\'nombers' . $param . '\').href="javascript:no mbers' . $param . 'Hide()" } function nombers' . $param . 'Hide(){ document.getElementById(\'raw' . $param . '\').style.display=\'none\' document.getElementById(\'raw' . $param . '\').style.visibility=\'hidden\' document.getElementById(\'nombers' . $param . '\').href="javascript:no mbers' . $param . 'Show()" } </script>'; }
0
Автор, ты в своем скрипте как раз jquery и не используешь. Перепиши код на jquery и всё будет работать.
0
1. dima.london, смысл того что ты подключаешь JQuery, а в итоге используешь самый линейный JS и извращаешься?)
Пиши на JQuery, работает в абсолютно любом браузере одинакого
Пиши на JQuery, работает в абсолютно любом браузере одинакого
0
Что вы все к этому JQuery прицепились? Понимаю на большом портале или там где использование AJAX просто необходимо, можно подключить библиотеку. Ну нафига ее пихать везде где не поподя. Когда на много проще написать парочку своих JavaScript функций и не таскать за собой этот "хвост". imho...
Для выполнения действия необходимо авторизоваться!