Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фреймы, Прокрутка  
:(
    Опции темы
longtop
Дата 13.5.2009, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 13.5.2009

Репутация: нет
Всего: нет



Надо просто загружаемую во фрейм страницу прокрутить на 120 пикселей. Скажете проще простого, есть window.scroll() и всякие другие функции. Но дело в том, что доступа к коду загружаемой страницы нет и скроллящий код надо размещать в странице, содержащей <frameset>...</frameset>
Помогите, плз!
PM MAIL   Вверх
Aliance
Дата 13.5.2009, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Читаем статью о работе с фреймами: http://forum.vingrad.ru/forum/topic-44559.html
Видим, что из документа, задающего frameset можно легко манипулировать любыми данными, содержащимися во фрейме (если конечно фрейм с того же домена, политика безопасности). В твоем случае так:
Код

top.frames["имя_фрейма"].onload = function()
{
    top.frames["имя_фрейма"].scrollTo( 0, 120 );
}


PM MAIL WWW ICQ Skype   Вверх
longtop
Дата 14.5.2009, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 13.5.2009

Репутация: нет
Всего: нет



А в function() что определять?
PM MAIL   Вверх
longtop
Дата 14.5.2009, 04:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 13.5.2009

Репутация: нет
Всего: нет



Код

<script language="JavaScript" type="text/JavaScript">
top.frames["mainFrame"].onload = scrollwin()
{
     top.frames["mainFrame"].scrollTo( 0, 120 );
}
</script>
</head>
<frameset rows="[color=red]<? print $hi;?>[/color],*" frameborder="NO" border="0" framespacing="0">
<frame src="[color=red]<? print $top_frame;?>[/color]" name="topFrame" scrolling="NO" noresize>[/color]
<!-- вот этот фрейм (mainFrame) нужно скроллить --?>
[color=darkblue]<frame src="[color=red]<?print $main_frame;?>[/color]" name="mainFrame">
</frameset>


Если не трудно, подскажите, пожалуйста.

Это сообщение отредактировал(а) Aliance - 15.5.2009, 13:09
PM MAIL   Вверх
bars80080
Дата 14.5.2009, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



longtop, а зачем вы поменяли служебное слово function на неизвестное js слово scrollwin?
PM MAIL WWW   Вверх
longtop
  Дата 15.5.2009, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 13.5.2009

Репутация: нет
Всего: нет



А с function() тоже не работает. Я так понимаю, что функцию, которую создал для прокрутки, откуда то надо вызвать. Если она называется function, к ней так и обращаться? Тогда откуда обращаться? Фрагмент кода это только фрагмент, как его встроить в код страницы, содержащей <frameset>...</frameset> абсолютно непонятно. Мне непонятно. Может есть кто подскажет? smile 
PM MAIL   Вверх
bars80080
Дата 15.5.2009, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



если нужно обращаться из другого места, то нужно написать обычную:

Код

scrollwin() {
     top.frames["mainFrame"].scrollTo( 0, 120 );
}


где нужно вызываем:
Код

<frame src="<? print $top_frame;?>" name="topFrame" scrolling="NO" onload="scrollwin()" noresize>

либо из другого места. нужно только не запутаться где что находится. onload="scrollwin()"  - справедливо, если функция объявлена здесь же, где написано <frame ...>
если нужно вызвать из самого фрэйма функцию расположенную в родительском окне, то можно поступить примерно так:
<body onload="parent.scrollwin();"> или parent.document.scrollwin(); там надо посмотреть

либо если не хочется писать в тэгах, а нужно в коде то для первого случая: window.frames['topFrame'].onload = function() { scrollwin(); }
для второго случая window.onload = function() { parent.scrollwin(); }

Добавлено через 2 минуты и 2 секунды
вместо

Цитата(bars80080 @  15.5.2009,  09:43 Найти цитируемый пост)
scrollwin() {
     top.frames["mainFrame"].scrollTo( 0, 120 );
}

для первого варианта должно работать 
Код

scrollwin() {
     window.frames["mainFrame"].scrollTo( 0, 120 );
}

или
Код

scrollwin() {
     document.frames["mainFrame"].scrollTo( 0, 120 );
}

короче надо пробовать
PM MAIL WWW   Вверх
Aliance
Дата 15.5.2009, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Какую ошибку выдает? Работать должно, если все правильно делать.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0800 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.