Пока тестовая версия скрипта. Как только устоятся наиболее востребованные фичи (если скрипт вообще будет интересен), сделаю красивее/проще.
Скрипт позволяет видоизменять профиль в топике, скрывая все поля кроме аватара на отображая их при наведении

Плюс скрипт добавляет индикацию онлайн-офлайн юзера (самая нижняя часть).
Демо http://sadhaka.rusff.me/viewtopic.php?id=42
Пока скрипт настраивать сложно, но если появится спрос, то чего-нибудь придумаем. Сейчас все оформление заточено под то, что просили, т.е. то, что в демо.
сам скрипт
в хтмл-низ
<script>
var firstfield = "pa-fld4"; //первый средний блок
var secondfield = "pa-fld3"; // второй средний блок
var thirdfield = "pa-posts"; // третий средний блок
var fourthfield = "pa-author"; // четвертый средний блок
var rightfield = "pa-title"; // правый блок
var leftfield = "pa-fld2"; // левый средний блок$("."+firstfield).addClass("firstfield");
$("."+secondfield).addClass("secondfield");
$("."+thirdfield).addClass("thirdfield");
$("."+rightfield).addClass("rightfield").css("margin-top", "-"+$(this).width()/2);
$("."+leftfield).addClass("leftfield").css("margin-top", "-"+$(this).width()/2);
$("."+fourthfield).addClass("fourthfield");
$(".post-author").each(function() {
$(this).css({
"background-image": "url("+$(this).find(".pa-avatar img").attr('src')+")",
"background-position": "center center",
"background-repeat": "no-repeat",
"cursor": "pointer",
"position": "relative"
});
})
</script>
Верхняя часть скрипта - настройки, позволяющие выводить нужную информацию (поле профиля) в нужном месте.
Каждой строке соответствует своя область (они подписаны комментарием).
Изменяемой частью является часть после знака равно в кавычках
var firstfield = "pa-fld4";
здесь можно указать класс дополнительного поля (pa-fld4 - дополнительно поле №4) и поле по умолчанию (pa-posts - количество постов юзера).
Это в хтмл-верх или без тегов <style> в свой стиль
Это оформление профиля.
<style>
.post-author, .post-author ul {
min-height: 300px;
}
.post-author {
border-top: 5px solid rgba(0,0,0,.7);
border-bottom: 5px solid rgba(0,0,0,.7);
}
.post-author li {
display: none;
}
.post-author:hover ul {
display: block;
background: rgba(226,226,226,.8)
}
.post-author:hover ul li.firstfield,
.post-author:hover ul li.secondfield,
.post-author:hover ul li.thirdfield,
.post-author:hover ul li.fourthfield {
position: absolute;
width: 150px;
left: 50%;
margin: 0 0 0 -75px;
display: block;
text-align: center;
}
.post-author:hover ul li.firstfield {
top:0;
height: 160px;
border-left: 1px solid rgba(255,255,255,.9);
border-right: 1px solid rgba(255,255,255,.9);
overflow: hidden;
background: rgba(18,18,18,.8);
}
.post-author:hover ul li.firstfield img {
height: 160px;
}
.post-author:hover ul li.secondfield {
top:160px;
height: 60px;
background: rgba(18,18,18,.8);
color: #fff;
padding: 7px 0 7px 0;
border-left: 1px solid rgba(226,226,226,.8);
border-right: 1px solid rgba(226,226,226,.8);
}
.post-author:hover ul li.thirdfield {
top:234px;
max-height: 160px;
height: 26px;
background: rgba(0,0,0,.1);
color: #000;
border-left: 1px solid rgba(255,255,255,.9);
border-right: 1px solid rgba(255,255,255,.9);
padding: 3px 0 3px 0;
font: 13px/26px Arial;
}
.post-author:hover ul li.thirdfield:after {
display: inline;
float: right;
margin-right: 40px;
margin-left: -40px;
text-transform: uppercase;
}
.post-author:hover ul li.thirdfield:after {
content: "posts";
}
.post-author:hover ul li.fourthfield {
top:266px;
max-height: 160px;
background: rgba(0,0,0,.1);
color: #000;
border-left: 1px solid rgba(255,255,255,.9);
border-right: 1px solid rgba(255,255,255,.9);
padding: 3px 0 3px 0;
text-transform: uppercase;
font: normal 13px/1.5 Arial;
}
.post-author:hover ul li.fourthfield a {
text-decoration: none;
}
.post-author:hover ul li.fourthfield:after,
.post-author.online:hover ul li.fourthfield:after {
display: block;
margin: 0 auto;
text-transform: uppercase;
}
.post-author:hover ul li.fourthfield:after {
content: "is offline";
}
.post-author.online:hover ul li.fourthfield:after {
content: "is online";
}
.post-author:hover ul li.rightfield {
position: absolute;
right: -34px;
transform: rotate(90deg);
-webkit-transform: rotate(90deg);
text-transform: uppercase;
height: 15px;
display: block;
color: #000;
font: normal 13px/15px Arial;
top: 50%;
}
.post-author:hover ul li.leftfield {
position: absolute;
left: -40px;
transform: rotate(-90deg);
-webkit-transform: rotate(-90deg);
text-transform: uppercase;
height: 15px;
display: block;
color: #000;
font: normal 13px/15px Arial;
top: 50%;
}
.post-author:hover ul li.leftfield a {
text-decoration: none;
}
b.b, b.r, b.l {
font-weight: normal;
text-transform: uppercase;
font: 12px/1.5 Arial;
margin-bottom: 5px;
margin-top: 5px;
}
b.r,b.l {display: inline-block;}
b.b {display: block;}
b.r {width: 70%;}
b.l {width: 30%}
</style>Скрипт использует 3 допполя.
Одно для картинки сверху при наведении (можно использовать также поле аватара, а можно любое текстовое поле. Заполняется так (текстовое поле, название любое, запрещаем заполнять юзерам)
<img src="http://sd.uploads.ru/t/QSHsC.jpg" />
Второе для вывода доп инфы во втором блоке по центру. Заполняется так (текстовое поле, название любое, запрещаем заполнять юзерам)
<b class="b">Kris Lea</b><b class="l"> 27 </b><b class="r"> developer</b>
<b class="b">Kris Lea</b> - выводит текст во всю строку
<b class="l"> 27 </b> и <b class="r"> developer</b> выводят текст в две колонки слева и справа соответственно
Третье - ссылка на био или анкету. Заполняется так
<a href="http://ato.su/musicbox/i/0513/8e/743627.mp3">Character</a>
Необязательно использовать допполя, но чтобы получить картинку как в примере - придется.
Бонус. Скрипт скрытия названия полей (и дополнительных, не дополнительных). В выделенную строку в кавычках пишем через запятую классы полей
<script type="text/javascript">
var A=["pa-fld1","pa-fld2","pa-fld3","pa-fld4","pa-fld5","pa-posts"]
$(".post .post-author li").each(function (){
for(var i=0; i<A.length;i++){if($(this).hasClass(A[i])){
$(this).html($(this).html().replace(/^[^:]*:/,''));}};});
</script>



