Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Как отловить появление верт. полосы прокрутки во фрейме

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Vasia



Зарегистрирован: 05.02.2006
Сообщения: 8
Откуда: Москва

СообщениеДобавлено: Вс Фев 05 2006 20:03    Заголовок сообщения: Как отловить появление верт. полосы прокрутки во фрейме Ответить с цитатой

Уважаемые. Всем здравстуйте.
Мы люди не здешние (в основном все QB, QC, да MASM). Помогите пожалуйста со скриптом разобраться.
На странице два фрейма. Первый со скролом = NO, второй - рабочий имеет скрол AUTO. Во второй фрейм загоняются таблицы разных размеров. В одном случае (таблица маленькая) вертикальной полосы прокрутки нет, в другом - табл. большая - она есть.
Внимание вопрос:
1. Как с помощью, например, Java Script понять, что полоса прокрутки есть?
Сейчас, независимо от размеров таблицы я рисую в самом её конце стрелку, направленную вверх, при нажатии на которую она меняет цвет и отсылает нажавшего на неё в начало таблицы.
Хотелось бы рисовать её только в случае появления полосы прокрутки.
Внимание, вопрос:
2. Как в этом случае правильно оформить document.write("..."); для следующей последовательности тегов:
<p ALIGN="right">
<a href="Cont_CH3.htm#Begin" OnMouseOut="na_restore_img_src ('image6', 'document')" OnMouseOver="na_change_img_src('image6', 'document', '../Menu/Menu1/Begin_over.png', true);" target="_parent">
<img src="../Menu/Menu1/Begin.png" width="44" height="57" border="0" name="image6" alt="В начало страницы" align="middle">
</a>
</p>
Всё это делается в NAMO WEB EDITIR. Все мои попытки сформировать правильный document.write для тега <a ... /a> терпят полной провал, приводят к ошибке, которая требует от меня дополнительной, мифической закрывающей скобки ).
Заранее благодарю за внимание
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
beliy



Зарегистрирован: 10.12.2004
Сообщения: 124
Откуда: Москва

СообщениеДобавлено: Пн Фев 06 2006 15:50    Заголовок сообщения: Ответить с цитатой

на сколько я помню, document.write очень плохо реагирует на перевед строки, тобишь считает что дальше пойдет следующая команда, но видит что эта не окончена.. и ругается.
перед выводом замените все переводы строк на пробелы или на ничто.. Smile и экранируйте кавычки
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
beliy



Зарегистрирован: 10.12.2004
Сообщения: 124
Откуда: Москва

СообщениеДобавлено: Пн Фев 06 2006 15:52    Заголовок сообщения: Ответить с цитатой

насчет прокрутки:
попробуйте использовать document.offsetHeight может поможет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Vasia



Зарегистрирован: 05.02.2006
Сообщения: 8
Откуда: Москва

СообщениеДобавлено: Пн Фев 06 2006 22:00    Заголовок сообщения: Beliy от Vasia Ответить с цитатой

Я в конце написал, что использую NAMO, который воспринимает протяженно-сложенный тег, как одну строку. Поэтому, как мне кажется, пробелы здесь не причем. Кстати, тот же Top Style выводит его в document.write одной строкой.
И второе. Что значит экранировать кавычки? Я ещё в этих терминах very bed.
Но, все равно спасибо, что откликнулись.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
beliy



Зарегистрирован: 10.12.2004
Сообщения: 124
Откуда: Москва

СообщениеДобавлено: Пн Фев 06 2006 23:35    Заголовок сообщения: Ответить с цитатой

Цитата:
Я в конце написал, что использую NAMO, который воспринимает протяженно-сложенный тег, как одну строку. Поэтому, как мне кажется, пробелы здесь не причем

такая ошибка обычно возникает при попытке вывести многострочный код при помощи JS.
не имеет значения на чем Вы пишете, важно то как воспринимает это браузер. попробуйте просмотреть код результирующей страницы в Iternet Explorer это (Вид->Просмотр HTML кода).

в вашем случае код должен выглядеть так:
Код:

document.write('<p ALIGN="right"><a href="Cont_CH3.htm#Begin" OnMouseOut="na_restore_img_src (\'image6\', \'document\')" OnMouseOver="na_change_img_src(\'image6\', \'document\', \'../Menu/Menu1/Begin_over.png\', true);" target="_parent"><img src="../Menu/Menu1/Begin.png" width="44" height="57" border="0" name="image6" alt="В начало страницы" align="middle"></a></p>');


document.write() используется для вывода ОДНОЙ строки, строка в данном случае заключена в одинарные кавычки.
чтобы внутри строки использовать одинарные кавычки, перед ними нужно ставить знак "\" - это ЭКРАНИРУЕТ кавычку и JS считает ее частью строки, а не концом строковой константы.
PS возможно будет еще на чтото ругаться, такчто можно экранировать также "/", "<", ">". но по моему не нужно.

Удачи!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Vasia



Зарегистрирован: 05.02.2006
Сообщения: 8
Откуда: Москва

СообщениеДобавлено: Вт Фев 07 2006 21:40    Заголовок сообщения: Beliy от Vasia Ответить с цитатой

Спасибо за код. Все получилось. Правда не сразу.
А вот с document.offsetHeight не все так просто. Он у меня дает значение undefined. Причем на нескольких компах проверял.
Так, что проблема c прокруткой так и осталась не решенной.
Было бы, конечно здорово, если бы как в Ассемблере - пришло переполнение - получи фашист гранату, то бишь взведенный флаг.
А здесь все как не у людей. Ведь что интересно. Когда создаются и описываются фреймы, в них устанавливаются флаги для скрола. Так почему нельзя было предусмотреть вывод аналогичного флага в момент появления полосы прокрутки. Это даже и выглядило бы изящно.
И теперь что? Анализировать клиентский монитор? А если он (клиент) не скромный, выводит кроме обычной шапки браузера еще и строки для Яхи и/или какой-нибудь другой Гугли, работает с нестандартным РС разрешением, например 1024х900 или 960х600, что приводит к изменению размеров шрифта, строки и самой выводимой таблицы. В результате рассчитать размер рабочего фрейма не так и просто. Все получается на соплях.
Однако, вероятно, так и придется ваять, расширяя исходник, что очень не хотелось бы делать.
Но, в любом случае, большое спасибо за код и поддержку.
Было очень приятно пообщаться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...