• Страница 1 из 2
  • 1
  • 2
  • »
Скрипты и коды для юкоз - Форум аццкого кодера » Записи участника » vinni [19]
Результаты поиска
Дата: Четверг, 31.07.2014, 11:53 | Сообщение #1 | Тема: Вопросы от Винни
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


Здравствуйте!

Появилось несколько вопросов касательно юкоза... Сам их решить не смог, недели две наверное бьюсь. Вот решил написать.)

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

На все эти информеры распрострянется действие сортировщика, чтобы материалы шли в правильном порядке (ну, лента в общем).

Задача состоит в следующем. Как сделать общий переключатель по материалам информеров? То есть отсчиталось 30 материалов (как пример), последующие материалы обрубаются и доступны уже на другой, так сказать, странице.

Я прочел вот эту тему - http://likbezz.ru/forum/68-762-9581-16-1336339366 Круто, но сумел применить только к информерам по отдельности.

На всякий случай прикрепляю сортировщик:

Код
<div id="feed">   
$MYINF_1$   
$MYINF_2$   
$MYINF_3$   
$MYINF_4$  
$MYINF_5$  
</div>   
<script type="text/javascript">   
function parseDate(input) {   
var parts = input.match(/(\d+)/g);   
return new Date(parts[2],parts[1]-1,parts[0],parts[3]-1,parts[4]-1,Math.random()).getTime();   
}   
$(document).ready(function() {   
var elems = $.makeArray($('#feed .feed-item'));   
elems.sort(function(a, b) {   
if (parseDate($(a).find('.feed-date').text()) > parseDate($(b).find('.feed-date').text())) return -1;   
if (parseDate($(a).find('.feed-date').text()) < parseDate($(b).find('.feed-date').text())) return 1;   
return 0;   
});   
$('#feed').html(elems);   
});   
</script>


Обрамление даты в информере:
Код
<span class="feed-date">$DATE$ в $TIME$</span>


Вишу на этом сайте с самого начала пребывания на юкозе. Просто кладезь знаний, спасибо. Надеюсь, что с моими вопросами тоже получится найти решение.)


 
Дата: Пятница, 01.08.2014, 14:10 | Сообщение #2 | Тема: Вопросы от Винни
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, ура, вы пришли.)) Вчера заснул, так и не дождался.

Цитата
Ну, можно через табы - вкладки, ..
для этого нужен скрипт самих вкладок и модифицировать сортировщик, что бы он формировал html код для табов.
По сути - там должны быть управляющие элементы - список страниц, и блоки контента.
По завершению формирования кода, запускать скрипт вкладок.

Поможете? Мне бы хоть самый простенький пример. Реально ничего не получается, как не пытался.(


 
Дата: Пятница, 01.08.2014, 15:49 | Сообщение #3 | Тема: Вопросы от Винни
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, вот наше чудовище.))



 
Дата: Воскресенье, 03.08.2014, 01:16 | Сообщение #4 | Тема: Вопросы от Винни
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, офигеть. оО Прям конкретно под наш сайт... Спасибо.))
Сейчас пробовать буду.) Немного позже отпишусь.

Добавлено (02.08.2014, 20:28)
---------------------------------------------
likbezz, все, разобрался.)) Только одно не понял - как сделать, чтобы страница при переключении поднялась наверх (к верхним подгруженным материалам)?

Добавлено (03.08.2014, 01:16)
---------------------------------------------
Блин. Ступил.

У нас точного количество материалов в каждом информере нет. То есть там может быть и 50 и 100 и больше. Сколько добавлено, столько и выводится (это первоначальная идея).

likbezz, можете показать как сделать так, чтобы были не переключатели, а кнопка "Подгрузить еще"? И так до тех пор, пока не кончаться материалы в информерах.

Извините, что не сразу донес мысль. Только сейчас дошло, что придется вручную добавлять переключатели страниц (в зависимости от увеличения объема материала).

Хотя сам виноват, надо было правильно писать. Возможно, что "такую кнопку" делать дольше . Тогда бы просто решить проблему с "поднятием страницы наверх".) А то при переключении не очень удобно...

 
Дата: Понедельник, 04.08.2014, 01:03 | Сообщение #5 | Тема: Вопросы от Винни
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, большое спасибо!! Просто супер. Знал, что здесь точно помогут.

Вот... Из "накипевшего" у меня осталось два вопроса. Задам сначала самый идиотский (вам странным образом удалось сделать так, что вы единственный в сети у кого мне не стремно просить помощи. оО)

Есть скрипт (не мой):

Код
var curstate = location.href;
function apoloadme(id, url) {
if($('div.apoloadfull' + id).html() == '') {
if(curstate != url) {
history.replaceState(null, null, url);
}
$('#loader' + id).fadeIn();
$('div.apoloadfull' + id).load(url + ' #apoentry', function() {
$('img[id^="loader"]').hide();
$('div#apoent' + id).hide(0);
$('div.apoloadfull' + id).fadeIn(100);
});
}
else
{
history.replaceState(null, null, curstate);
$('img[id^="loader"]').hide();
$('div.apoloadfull' + id).html('').hide();
$('div#apoent' + id).fadeIn(300);
}
}


////

Далее "обертки" и кнопка вызова:

MESSAGE на странице материала загоняем в
Код
<div id="apoentry">$MESSAGE$</div>


В виде материалов ставим
Код
<span onclick="apoloadme('$ID$', '$ENTRY_URL$');return false;">$TITLE$</span> <img src="/images/ajax-loader.gif" id="loader$ID$" style="display:none;" height="8px">


И там же MESSAGE заменяем на
Код
<div id="apoent$ID$">$MESSAGE$</div>
<div class="apoloadfull$ID$"></div>


////

Да... Вроде все.

////

Как заставить это "не подгружать", а "выводить" новое аякс окно с "подгруженным" материалом? Не могу. Думал, что ничего сложного, а капец какой-то.

Понятно, что материал подгружается в блок

Код
<div class="apoloadfull$ID$"></div>


И насколько я понял за "подгрузку" отвечает вот эта часть кода

Код
if($('div.apoloadfull' + id).html() == '') {
if(curstate != url) {
history.replaceState(null, null, url);
}


Но ничего изменить так и не удалось, сколько не ковырял. Аякс окно не открывается.

Получилось сделать альтернативу с гет-запросом. Но гетов на сайте и так хватает и вообще... Совсем не то.( Очень жду помощи.


 
Дата: Понедельник, 04.08.2014, 09:23 | Сообщение #6 | Тема: Вопросы от Винни
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


Цитата
Данный скрипт использует гет запрос.


Цитата
Нет, вот эта:


Цитата
а именно, функция $.load()


Цитата
Данная часть просто проверяет наличие подгруженного контента, и заменяет историю.

Мда... *Чешет затылок*. Ну, ладно. Какие наши годы. хд Зато вкуривать работу скрипта наконец начал.

Цитата
пихаем код открытия окошка, типа:

Все, дошло.)) Спасибо.)

Пошел устанавливать это все и любоваться.) Скоро вернусь с нашей третьей Ахиллесовой пятой.))

Добавлено (04.08.2014, 09:23)
---------------------------------------------
likbezz, а можно к функции закрытия аякс-окна (http://arkham-world.ru/snimok.png) привинтить события onclick-а этой кнопки

Код
onclick="apoloadme('$ID$', '$ENTRY_URL$');return false;"


?

Или так (первый вариант мне кажется "черной магией"):

Как под каждым подгруженным материалом в аякс-окно - вставить кнопку

Код
<span onclick="apoloadme('$ID$', '$ENTRY_URL$');return false;">Закрыть</span>


Просто первоначально скрипт подразумевал закрытие новости по повторному щелчку по названию. И если просто закрыть аякс-окно, адрес подгруженного материала так и остается в адресной строке... Ох.(


 
Дата: Понедельник, 04.08.2014, 22:54 | Сообщение #7 | Тема: Вопросы от Винни
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, нашел.

Код
onclose


Цитата
функция, выполняющаяся после закрытия окна.


Блин. Пробую, но пока тщетно.

Добавлено (04.08.2014, 09:52)
---------------------------------------------
likbezz, как раз писал.))

Добавлено (04.08.2014, 09:54)
---------------------------------------------
likbezz, likbezz, вооот... Кайф. Теперь идеал.

Добавлено (04.08.2014, 22:54)
---------------------------------------------
likbezz, ура. Закончил с лентой.)

Вот и третья наша проблема...

Скрипт

Код
function offset(a) {
for (var b = 0; a;) b += parseInt(a.offsetTop), a = a.offsetParent;
return b
}
var s = !0;
window.onload = function () {
var a = document.querySelector(".utility_bar"),
b = offset(a),
f = window.getComputedStyle ? getComputedStyle(a, "") : a.currentStyle,
d = a.offsetHeight + parseInt(f.marginTop) || 0,
e = offset(document.querySelector(".shoes"));
window.onscroll = function () {
var c = window.pageYOffset || document.documentElement.scrollTop,
c = e - (c + d + b);
s != 0 < c && ((s = 0 < c) ? (a.style.top = b + "px", a.style.position = "fixed") : (a.style.top = e - d + "px", a.style.position = "absolute"))
}
};


Стили (на всякий)

Код
.utility_bar {
position: fixed;
width: 100%; min-width: 1010px;
height: 50px;
bottom: 0; left: 0;
background: rgba(5, 5, 5, 0.80);
border-top: 1px solid #252525;
z-index: 111;
}
.utility_bar .utility_bar_content {text-align: center;}
.utility_bar .utility_bar_content a {
position: relative;
display: inline-block;
padding: 0 20px;
background: url(/AW_v5/img/header_main_menu_sep.png) no-repeat right 16px;
font: 18px Georgia, serif; line-height: 50px; text-shadow: 0 0 3px #000; color: #e5e5e5; text-decoration: none;
}
.utility_bar .utility_bar_content a.bn {background: none;}
.utility_bar .utility_bar_content a:hover {color: #B22222;}
.utility_bar .utility_bar_content a img {vertical-align: middle;}


Сам блок

Код
<div class="utility_bar">
<div class="utility_bar_content">
<a class="bn" href="/">ссылка</a>
<a href="/">ссылка</a>
<a class="bn" href="/">ссылка</a>
</div></div>


Суть в том, чтобы абсолютно позиционированный блок замирал над футером. И все хорошо, но при смене высоты страницы (а это дело плевое... Добавил коммент - уже новая высота) скрипт фиксируется на месте, где стоит и дальше никуда. Так и висит там. Исправить не удалось. Не понимаю как сделать так, чтобы скрипт принимал и новую высоту страницы... Скорее всего вообще неправильно подхожу к решению вопроса.(

likbezz, подскажите пожалуйста, как починить?


 
Дата: Среда, 06.08.2014, 04:31 | Сообщение #8 | Тема: Вопросы от Винни
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, оО Круто. Я это пробовал. Не думал, что на верном пути.

Ну, в силу своих извилин "я это пробовал". Скорее всего и не правильно. Но приятно, что хоть в теории догадался. хд

Вот так это было:

Код
function offset(a) {  
for (var b = 0; a;) b += parseInt(a.offsetTop), a = a.offsetParent;  
return b  
}  
var s = !0;  
window.onload = function () {  
var a = document.querySelector(".utility_bar"),  
b = offset(a),  
f = window.getComputedStyle ? getComputedStyle(a, "") : a.currentStyle,  
d = a.offsetHeight + parseInt(f.marginTop) || 0,  
e = offset(document.querySelector(".shoes"));  
window.onscroll = function () {  
var c = window.pageYOffset || document.documentElement.scrollTop,  
c = e - (c + d + b);  
s != 0 < c && ((s = 0 < c) ? (a.style.top = b + "px", a.style.position = "fixed") : (a.style.top = e - d + "px", a.style.position = "absolute"))  

var a = document.querySelector(".utility_bar"),  
b = offset(a),  
f = window.getComputedStyle ? getComputedStyle(a, "") : a.currentStyle,  
d = a.offsetHeight + parseInt(f.marginTop) || 0,  
e = offset(document.querySelector(".shoes"));  
}  
};


Что-то вроде... И несколько других вариантов, но там однозначно неправильно. Дальше пробую.)

Добавлено (06.08.2014, 04:24)
---------------------------------------------
Нет. Не выходит.(

Добавлено (06.08.2014, 04:26)
---------------------------------------------
И по ходу дела возник вопрос (скорее философский, просто интересно):

likbezz, на главной странице (и вообще на всех остальных страницах) основной блок (с контентом / меню и т.д.) имеет относительное позиционирование. У футера (который живет своей отельной жизнью от верхнего блока) также прописано relative.

body не указано позиционирование.

Для примера пробовал указать и телу relative. Тогда со всеми окнами (лайтбокс / аякс) происходит беда и они смещаются вниз, к футеру.

В общем так и жили...) Никаких проблем не было, окна открывались правильно.

А сейчас заметил какой-то бред. Все окна на странице с личными сообщениями ведут себя так словно body прописано статик или релатив. Все закрывающие теги проверил.

Вы не знаете... Зачем юкоз это делает? хд

Добавлено (06.08.2014, 04:31)
---------------------------------------------
Юкоз, юкоз... Шутник. Указанный доктайп в настройках не распространяется на страницу с лс. Сволочь. Я даже не смотрел туда (наверх).

Блин. Уже минут 40 вишу в исходнике страницы с лс, пытаясь определить id-ишник окна со смайлами и понять - почему, если футеру через импортант указать на этой странице абсолютное позиционирование - он не сдвигается наверх (как и должен), а стоит себе внизу и окна при том открываются правильно.

В общем, тут понятно.)

 
Дата: Среда, 06.08.2014, 18:09 | Сообщение #9 | Тема: Вопросы от Винни
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


Цитата
Пропиши руками в шаблоне.

Это само собой.)

Цитата
Там класс: wbb-smilebox, если речь о визуалке.

Вопрос доктайпом решить удалось, но спасибо.) Очень может быть пригодится...

Цитата
Ср, 06.08.2014, 13:25:21[/url]попробуй приспособить вот этот скрипт: http://likbezz.ru/forum/87-1572-29634-16-1384049066

Я с него и начинал.) Пытался переделать, но появилось ощущение что на 10 версии jquery не будет работать (пробовал вставлять 1.7.2 - работало... 10 уже обжили, жалко было убирать).

Хотя сейчас снова пытался этот скрипт под нас переделать. Еще довольно обширную статью нашел по теме плавающих блоков. Потом еще одну... Масса вариантов и не один не подошел. Все-равно зависает где-то в воздухе, если меняется высота страницы.

Буду дальше мучить.)

likbezz, больше надоедать не буду.) Большое спасибо! Без этого сайта - нашей ленты не было бы. А сейчас просто загляденье. Масса полезных решений. Еще ни одного такого ресурса не встречал.

Наставил бы плюсов, но доступа нет.)) Картинку тоже вроде вставить не получится, так что вот - http://arkham-world.ru/AW_v5/img/hand1.png


 
Дата: Пятница, 08.08.2014, 12:00 | Сообщение #10 | Тема: Вопросы от Винни
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, ура! Огромное спасибо.)

 
Дата: Понедельник, 11.08.2014, 18:31 | Сообщение #11 | Тема: Онлайн телевидение себе на сайт
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, даров!

Предисловие короткое.) Решил подключить на сайт пару каналов для просмотра онлайн.

Теперь о том, что я успел изучить:



Вот... Но честно говоря... Наверное не там смотрел.

В общем, вот вопросы.

1. Если время есть и вообще не скучно), очень хотелось бы услышать небольшого ввода в тему (как здесь например - http://likbezz.ru/publ/ucoz/scripts/about_creating_uwnd_ajax_windows_examples_of_implementation/29-1-0-85 - после этой статьи тема аякс-окон полностью прояснилась и уже более сложные задачи не казались "черной магией"). Совсем плохо представляю ситуацию пока.
2. Без сторонних утилит реализовать мою задачу возможно (более менее в земных рамках и так, чтоб на юкозовском сайте работало)?
3. Какое из решений тебе кажется самым оптимальным (какое бы сам стал использовать)?

Уточню насчет ТвДляСайта - сигнал разочаровал (не считая первого канала). В первый день вообще не работал, во второй с перебоями, в третий - работает. В общем, не очень хочется зависеть от таких перепадов (хоть и привыкли)).

Так... Да, наверное все.

Отвел вопросу отдельную тему. Если тему разовьешь - для поисковиков в плюс.) Или может переместишь в "Как сделать" или еще куда... Название и описание постарался наиболее правильно составить. Очень жду помощи.


 
Дата: Понедельник, 11.08.2014, 20:52 | Сообщение #12 | Тема: Онлайн телевидение себе на сайт
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, ага... ну, ладно. Думал, может сталкивался тоже.))

Мне tvforsite тоже всем понравился. Послежу денек-два, если тупить снова не будет - дурью маяться взаимно не буду.)

Но поиграться хочется. хд

Ничего, если тема повисит?) Пока за работой ТвДляСайта слежу - другие варианты попробую, ход работы сюда буду постить. Авось кому-нибудь пригодится.)


 
Дата: Вторник, 12.08.2014, 23:19 | Сообщение #13 | Тема: Как сделать ... ? Вопросы только по операторам юКоз (uCoz)
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


Что-то совсем туплю.

В информере можно скрыть материалы по годам через оператор DATE?

Вот что пробовал:

Код
<?if($DATE$>"12.10.2012")?>

<?if($DATE$=12.10.2012")?>


Не выходит. Много как пробовал, но все-равно не скрывает.( Получилось конкретный материал в один из разов срубить, а так по нулям.


 
Дата: Среда, 20.08.2014, 04:04 | Сообщение #14 | Тема: Как сделать ... ? Вопросы только по операторам юКоз (uCoz)
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, хм... Главное, что можно.) С операторами в первый раз косяк, раньше нет-нет, но в итоге получалось.
Уже утром тему изучу, спасибо.)

Добавлено (20.08.2014, 04:04)
---------------------------------------------
А, да. Получилось.)

Если кому нужно... (в инете на эту тему ничего не нашел. Хотя может запрос поисковику не так вбивал, бывает это у нас)).

Обрамляем все содержание информера:

Код
<?ifnot(substr($DATE$,-4)='2012')?>Тут код информера<?endif?>


Важно: у меня в общих настройках формат даты следующий dd.mm.year (насколько помню это и по умолчанию так у всех, но все же уточнил).


 
Дата: Среда, 20.08.2014, 05:24 | Сообщение #15 | Тема: Онлайн телевидение себе на сайт
vinni
Рядовой
Группа: Зарегистрированные
Сообщений: 19
Награды: 0
Репутация: 0
Статус: Offline


likbezz, в общем, остановился на http://tvforsite.ru/ Самый лучший вариант.

Разобрался и с созданием собственного аналога ТвДляСайта. Но для этого (опираясь на вариант, который изучал) потребуются определенные вложения на некоторое оборудование. хд В общем, потом как-нибудь, если заняться будет нечем и деньги будут лишние.)


 
Скрипты и коды для юкоз - Форум аццкого кодера » Записи участника » vinni [19]
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:


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