Фильтр по:
  

  • Страница 1 из 1
  • 1
Модератор форума: likbezz  
Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать? Информация для вновь прибывших » Как сделать... » Как сделать профили в аякс (юВинд) окне? (Как сделать профили в аякс (юВинд) окне?)
Как сделать профили в аякс (юВинд) окне?
Дата: Суббота, 26.03.2011, 16:07 |
Группа: Гости





Как сделать профили в аякс (юВинд) окне?
Есть ссылка такого плана http://forucoz.com/openLayerA.js
но окно открывается не плавно как остальные ювинд и работает только для отдельных ссылок, а хотелось бы, что бы все профили открывались в ювинд.
Можно это как-то сделать? Спасибо.


 
Дата: Понедельник, 01.08.2011, 04:12 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Quote (Гость)
Как сделать профили в аякс (юВинд) окне?

Дословно цитирую, да простит меня автор: G-XPert
Пост от 02 Января 2010, 09:36 | Сообщение # 1

Quote (G-XPert)
Расскажу как сделать такие-же окна как тут. Казалось бы создать аякс окно просто, new _uWnd и все дела, НО если нам например нужно сделать чтобы профиль пользователя, ссылка на который стоит в коде $BODY$ открывался в аякс окне?

1. Разберем на примере страницы со списком пользователя.

1. Первое что мы делаем $BODY$ заменяем на: <div class="ajax">$BODY$</div>
2. Дальше перед кодом </body> или после $BODY$ ставим следующий скрипт:


Code
<script type="text/javascript">$('.ajax a').bind('click',function(){new _uWnd('ajax','Загрузка...',800,350,{closeonesc:1,autosize:1,autosizeonimages:1},{xml:false,dataType:'html',url:this.href});$.get(this.href,{},function(data){if(data.search(/<title>(.+)<\/title>/i)) _uWnd.getbyname('ajax').setTitle(RegExp.$1);});return false;})
</script>


Quote (G-XPert)
Теперь окна стоящие внутри кода $BODY$ будут открываться в аякс окне, как тут.

2. Теперь разберём на примере, когда нам нужно сделать чтобы не все ссылки стоящие в коде $BODY$ открывались в аякс окне:

1. Разберём на примере форума, допустим, в колонке "Обновления", где "Сообщение от: $USERNAME$" нам нужно сделать чтобы профиль открывался в аякс окне. Смотрим исходный код и видим что ссылка имеет класс lastPostUserLink.
2. Теперь, когда мы узнали класс, также перед кодом </body> или после $BODY$ ставим следующее:


Quote (JS)
<script type="text/javascript">$('.lastPostUserLink').bind('click',function(){new _uWnd('ajax','Загрузка...',800,350,{closeonesc:1,autosize:1,autosizeonimages:1},{xml:false,dataType:'html',url:this.href});$.get(this.href,{},function(data){if(data.search(/<title>(.+)<\/title>/i)) _uWnd.getbyname('ajax').setTitle(RegExp.$1);});return false;})
</script>

Где:
lastPostUserLink - класс ссылки, что будем обрабатывать скриптом.
Возможен множественный вариант, типа: $('.lastPostUserLink,.newPostUserLink'). ....
bind('click',function(){} - действие (функция) при клике.
new _uWnd('') - создаём аякс окно.
f(data.search(/<title>(.+)<\/title>/i)) _uWnd.getbyname('ajax').setTitle(RegExp.$1);} - заменяем титле в аякс окне на подгружаемый.
return false; - отменяем действие по умолчанию.


Имно - не самый полезный и грамотный скрипт. Но с заменой титле придумано оригинально .... ) Респект автору.


Сообщение отредактировал likbezz - Понедельник, 01.08.2011, 04:12
 
Дата: Понедельник, 19.05.2014, 03:16 |
Fiddle
Рядовой
Группа: Проверенные
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline


Доброго времени суток, прошу прощения, что не создал отдельную тему ( нет прав) и лезу в чужую, но по сути вопрос схожий.
Суть моего вопроса:
Как сделать, чтобы все профили внутри $BODY$, а так же внешние от этого оператора( рукописные) ссылки на профили пользователей открывались не в uwnd окне, а появлялся блок с абсолютном позиционированием, скажем, в верхнем правом углу сайта? Выражаясь технически, мне нужна функция, которая вызывает появление скрытого блока содержимое которого фрейм, а именно, непосредственно фрейм со страницы профиля пользователя, который вас интересует.
Проще говоря, нужно заменить появление в ajax на появление обычного блока.
Заранее благодарю всех, кто попытается помочь!


 
Дата: Понедельник, 19.05.2014, 06:08 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Fiddle,
Цитата Fiddle, Пн, 19.05.2014, 03:16:52
Выражаясь технически, мне нужна функция, которая вызывает появление скрытого блока содержимое которого фрейм, а именно, непосредственно фрейм со страницы профиля пользователя, который вас интересует.

Сделать-то несложно..
Типа:
http://likbezz.ru/_example/_rest/_2014/p1/profile_frame.html
Код
<!--Start()-->
<style type="text/css">
#frameBox{
     width:500px;
     height:300px;
     position:absolute;
     right:0;
     top:0;
}
.framePro{
     width:100%;
     height:100%;
}
</style>
<script type="text/javascript">
function frameBox(id){
     $('body').append('<div id="frameBox"><iframe src="http://likbezz.ru/index/8-'+id+'" class="framePro"></iframe></div>');
}
</script>
<a href="javascript://" onclick="frameBox('1466');return false;">Fiddle</a>
<!--//End()-->

Но тут технический вопрос: как вы его собираетесь закрывать?

Цитата Fiddle, Пн, 19.05.2014, 03:16:52
Проще говоря, нужно заменить появление в ajax на появление обычного блока.

Тут уже уточняющий вопрос: для чего это?


 
Дата: Понедельник, 19.05.2014, 23:45 |
Fiddle
Рядовой
Группа: Проверенные
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline


likbezz, благодарю за отзывчивость!
Цитата likbezz
Сделать-то несложно..
Типа:
☑ http://likbezz.ru/_example/_rest/_2014/p1/profile_frame.html

Идеально, то что нужно!

Цитата likbezz
Но тут технический вопрос: как вы его собираетесь закрывать?


Если вам не сочтет труда, прикрутите по ссылке в области этого самого блока, либо по клику вне области. Я бы сделал сам, но ,к сожалению, я js плоховат, поэтому вот клянчу помощи у более знающих людей в этом вопросе)

Цитата likbezz
Тут уже уточняющий вопрос: для чего это?


Издержки дизайна)


 
Дата: Четверг, 05.06.2014, 23:50 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Цитата Fiddle, Пн, 19.05.2014, 23:45:38

Если вам не сочтет труда, прикрутите по ссылке в области этого самого блока, либо по клику вне области. Я бы сделал сам, но ,к сожалению, я js плоховат, поэтому вот клянчу помощи у более знающих людей в этом вопросе)

Типа так:
http://likbezz.ru/_example/_rest/_2014/p1/profile_frame2.html


 
Дата: Среда, 23.07.2014, 04:52 |
Fiddle
Рядовой
Группа: Проверенные
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline


likbezz, огромное вам человеческое спасибо! Только вот, единственная проблема, как сделать, чтобы абсолютно все профили на сайте открывались в данном блоке, а не по ссылке =(

Сообщение отредактировал Fiddle - Среда, 23.07.2014, 05:15
 
Дата: Вторник, 29.07.2014, 10:17 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Fiddle,
Цитата Fiddle, Ср, 23.07.2014, 04:52:00
Только вот, единственная проблема, как сделать, чтобы абсолютно все профили на сайте открывались в данном блоке, а не по ссылке =(

Найти все ссылки на профиль (скриптом) и прописать им данную функцию.
Найти можно перебором, по фрагменту «index/8-» ... ну а функцию повесить как обычно - $.click


 
Дата: Вторник, 29.07.2014, 12:59 |
Fiddle
Рядовой
Группа: Проверенные
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline


likbezz, как то так ? Не подскажите более верный вариант, пожалуйста .

Код
$('a[href*="/index/8-"]').click(function(){
$('body').append('<div id="frameBox"><iframe onload="frameBoxHide();" src="http://likbezz.ru/index/8-'+id+'" class="framePro"></iframe></div>');
}
function frameBoxHide(){
$('html').click(function(){
$('#frameBox').remove();
$(this).unbind('click');
});
}


Я полагаю нужно заменить как - то :
Код

src="http://likbezz.ru/index/8-'+id+'"


Сообщение отредактировал Fiddle - Вторник, 29.07.2014, 13:00
 
Дата: Среда, 30.07.2014, 08:16 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Fiddle,
Цитата Fiddle, Вт, 29.07.2014, 12:59:56
как то так ?

Ну да, как-то так..

Код
$(document).ready(function(){
$('a[href*="/index/8-"]').click(function(){
$('#frameBox').remove();
$('body').append('<div id="frameBox"><iframe onload="frameBoxHide();" src="http://likbezz.ru/index/8-'+this.href.split('-')[1]+'" class="framePro"></iframe></div>');
return false;
});
});
function frameBoxHide(){
$('html').click(function(){
$('#frameBox').remove();
$(this).unbind('click');
});
}


http://likbezz.ru/_example/_rest/_2014/p1/profile_frame3.html


 
Дата: Четверг, 31.07.2014, 00:09 |
Fiddle
Рядовой
Группа: Проверенные
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline


likbezz, благодарю

 
Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать? Информация для вновь прибывших » Как сделать... » Как сделать профили в аякс (юВинд) окне? (Как сделать профили в аякс (юВинд) окне?)
  • Страница 1 из 1
  • 1
Поиск:


Мобильная версия