Добрый день. Возникло сразу несколько проблем касаемо оформления форума.
Ссылка на форум: http://fop.anihub.ru/
1. Белая полоса внизу форума. Примечательно, что в админском меню она отсутствует. При верстке дизайна я смог ее убрать на начальных этапах, но потом в ходе дальнейших изменений пропустил момент, когда она появилась снова.
2. Названия категорий вертикально выравниваются по верхнему краю, смещать текст на середину картинки пришлось вручную. И если на главной это смотрится вменяемо, то в подразделах мы имеем вот такую картину:
3. При нажатии на кнопку изменения шрифта в форме ответа (т.е., любого выпадающего меню), появляется полоса прокрутки внутри форума. Пришлось сделать картинку "низа" форума больше, чтобы избавиться от этой проблемы, но хотелось бы знать, в чем дело.
4. Проблема со скриптом смены имиджа (сиречь ника, статуса, аватара) в посте. Сам скрипт, надо думать, работает, но проверить это нет возможности: при клике на иконку меню появляется, но перекрывается границей форума и его нельзя использовать. Может, можно настроить так, чтобы он появлялся поверх фона форума?
CSS файл:
Код:/************************************************************* A - SETUP change_ava_nic_sta_sgn **************************************************************/ #My.My,#stTs { background-color:transparent!important; background-image:none!important; border:none transparent 0!important; } #imgNIK-SIG { cursor:pointer; cursor:hand; position:absolute; z-index:1000; margin-top: 10px; margin-left:-30px; z-index:100; border:4px solid #676767; } #avtrChang-area{ position: absolute; right: 1%;top: 43px; width:350px!important; } #stTs { display:none;/**/ position:absolute; z-index:4; margin-top: 20px; margin-left:-122px; width:120px!important; height:209px; border-collapse: collapse; padding: 5px; text-align: left; } img.iblank { cursor:pointer; cursor:hand; border:transparent solid 1px; position:relative; width:100px; z-index:100; margin-left: -5px; margin-top: -1px; margin-right:-20px; } img.iblank.NIC { margin-top: 10px; height:23px } img.iblank.STA { height:20px } img.iblank.AVA { height:16px } img.iblank.Galleri { height:66px } img.iblank.SGN { height:19px } img.iblank.mem { height:34px } .punbb .pa-author img, .punbb .pa-title img { height:auto; max-width:150px; } .post-content .hide_Nic-SIG{ display:none; }JS-файл:
Код://======================КУКИС - ФУНКЦИЯ:"=V1.03.от 06.06.2011=============================// // В ИЕ максимальный Объём куков на Домен = 4096.Байт //======== Упаковка - ужатие encodeURIComponent ==============================// function pakCodeURI (sPak) { //alert("Длина входной URI-строки >"+sPak.length) sPak=sPak.replace(/^([^%])/g,"<$1");//alert(sPak) sPak=sPak.replace(/(%(?:[\d]|[A-F]){2})(?!%)/mg,"$1<"); sPak=sPak.replace(/(<[^%<]+)/mg,"$1>");//alert(sPak) //alert("<Англ. Текст> Выделен="+ sPak.length)//alert(sPak) sPak=sPak.replace(/%D0/mg,"%G"); sPak=sPak.replace(/%D1/mg,"%b"); sPak=sPak.replace(/%20/mg,"%c"); sPak=sPak.replace(/%B0/mg,"%d"); sPak=sPak.replace(/%BE/mg,"%e"); sPak=sPak.replace(/%80/mg,"%f"); sPak=sPak.replace(/%81/mg,"%g"); sPak=sPak.replace(/%82/mg,"%h"); sPak=sPak.replace(/%83/mg,"%i"); sPak=sPak.replace(/%BD/mg,"%j"); sPak=sPak.replace(/%B5/mg,"%k"); sPak=sPak.replace(/%B8/mg,"%m"); sPak=sPak.replace(/%BB/mg,"%n"); sPak=sPak.replace(/%B1/mg,"%o"); sPak=sPak.replace(/%BA/mg,"%p"); sPak=sPak.replace(/%BE/mg,"%q"); sPak=sPak.replace(/%B9/mg,"%r"); sPak=sPak.replace(/%BF/mg,"%s"); sPak=sPak.replace(/%8B/mg,"%t"); sPak=sPak.replace(/%2C/mg,"%u"); sPak=sPak.replace(/%B2/mg,"%v"); sPak=sPak.replace(/%B4/mg,"%w"); sPak=sPak.replace(/%8F/mg,"%x"); sPak=sPak.replace(/%09/mg,"%y"); sPak=sPak.replace(/%G%e%b/mg,"%H"); sPak=sPak.replace(/%G%e%G/mg,"%Y"); sPak=sPak.replace(/%G%m%G/mg,"%I"); sPak=sPak.replace(/%G%j%b%t/mg,"%J"); sPak=sPak.replace(/%G%j%u/mg,"%K"); sPak=sPak.replace(/%G%j/mg,"%L"); sPak=sPak.replace(/%G%k/mg,"%M"); sPak=sPak.replace(/%G%d/mg,"%N"); sPak=sPak.replace(/%G%9/mg,"%O"); sPak=sPak.replace(/%M%N%K/mg,"%P"); sPak=sPak.replace(/%G%A/mg,"%R"); sPak=sPak.replace(/%G%s/mg,"%S"); sPak=sPak.replace(/%G%m/mg,"%T"); sPak=sPak.replace(/%G%r/mg,"%X"); sPak=sPak.replace(/%b%f/mg,"%U"); sPak=sPak.replace(/%b%h/mg,"%W"); sPak=sPak.replace(/%M%G/mg,"%Z"); sPak=sPak.replace(/%b%8/mg,"%V"); sPak=sPak.replace(/%G%B/mg,"%&"); sPak=sPak.replace(/%u%O/mg,"%#"); sPak=sPak.replace(/%G%v/mg,"%a"); sPak=sPak.replace(/%b%g/mg,"%z"); sPak=sPak.replace(/%&C/mg,"%]"); //alert("2(До % delete > "+sPak.length)//alert(sPak) sPak=sPak.replace(/%/mg,"");//alert("Ужатие URI>"+sPak.length)//alert(">>>"+sPak) return sPak; } //End/Упаковка - ужатие encodeURIComponent //======== Распаковка Ужатого encodeURIComponent ================== function unpakCodeURI (str_unpak) {//alert("function unpakCodeURI"+str_unpak) str_unpak=str_unpak.replace(/(^(?:[^<>]+)(?:<|$))|(>(?:[^<>]+)(?:<|$))/mg,function(a,b,c) { //alert("a23="+a) a=a.replace(/\]/g,"&C"); a=a.replace(/z/g,"bg"); a=a.replace(/a/g,"Gv");a=a.replace(/#/g,"uO"); a=a.replace(/&/g,"GB");a=a.replace(/\V/g,"b8"); a=a.replace(/Z/g,"MG"); a=a.replace(/W/g,"bh");a=a.replace(/U/g,"bf"); a=a.replace(/X/g,"Gr");a=a.replace(/T/g,"Gm"); a=a.replace(/S/g,"Gs");a=a.replace(/R/g,"GA"); a=a.replace(/P/g,"MNK"); a=a.replace(/O/g,"G9"); a=a.replace(/N/g,"Gd");a=a.replace(/M/g,"Gk"); a=a.replace(/L/g,"Gj");a=a.replace(/K/g,"Gju"); a=a.replace(/J/g,"Gjbt"); a=a.replace(/I/g,"GmG"); a=a.replace(/Y/g,"GeG"); a=a.replace(/H/g,"Geb"); a=a.replace(/y/g,"09");a=a.replace(/x/g,"8F"); a=a.replace(/w/g,"B4");a=a.replace(/v/g,"B2"); a=a.replace(/u/g,"2C");a=a.replace(/t/g,"8B"); a=a.replace(/s/g,"BF");a=a.replace(/r/g,"B9"); a=a.replace(/q/g,"BE");a=a.replace(/p/g,"BA"); a=a.replace(/o/g,"B1");a=a.replace(/n/g,"BB"); a=a.replace(/m/g,"B8");a=a.replace(/k/g,"B5"); a=a.replace(/j/g,"BD");a=a.replace(/i/g,"83"); a=a.replace(/h/g,"82");a=a.replace(/g/g,"81"); a=a.replace(/f/g,"80");a=a.replace(/e/g,"BE"); a=a.replace(/d/g,"B0");a=a.replace(/c/g,"20"); a=a.replace(/b/g,"D1");a=a.replace(/G/g,"D0"); a=a.replace(/([^%]*?)((?:[\d]|[A-F]){2})/g,"$1%$2");// //alert("T0 "+a.length)//alert("a0="+a) return a;}); str_unpak=str_unpak.replace(/<|>/gm,""); //alert("URI-Code >"+str_unpak.length)//alert(str_unpak) return decodeURIComponent(str_unpak); } // End/Распаковка для(decodeURIComponent) ужатого encodeURIComponent==// //================= БИБЛИОТЕКА КУКИСОВ ============== // // Библиотека для кукисов function setCookie3(name, value, expires, path, domain, secure) { if (!name || !value) return false; //alert("HELLO>>"+value) var today = new Date(); today.setTime( today.getTime() ); var expires_date = new Date( today.getTime() + (expires) ); value = encodeURIComponent(value); if (value.length > 1000) value="1$"+pakCodeURI(value); var str = encodeURIComponent(name) + '=' + value;//alert(value) if (expires) str += '; expires=' + expires_date.toGMTString(); if (path) str += '; path=' + path; if (domain) str += '; domain=' + domain; if (secure) str += '; secure'; document.cookie = str; return true; } function getCookie3(name) { name= encodeURIComponent(name) var pattern = "(?:; )?" + name + "=([^;]*);?"; var regexp = new RegExp(pattern,"g"); if (regexp.test(document.cookie)){ NumPak = RegExp["$1"].replace(/^((?:\d{1,2})\$)?([^\$]*)$/g,"$1") if(NumPak == "1$" ) return unpakCodeURI(RegExp["$2"]); return decodeURIComponent(RegExp["$2"]) } return false } function deleteCookie3( name, path, domain ) { if ( getCookie3( name ) ) name= encodeURIComponent(name);document.cookie = name + '=' + ( ( path ) ? ';path=' + path : '') + ( ( domain ) ? ';domain=' + domain : '' ) + ';expires=Thu, 01-Jan-1970 00:00:01 GMT'; } function testNumLast(str, trp) { //test не цифры(или конца строки) за последней цифрой var s=str.lastIndexOf(trp);if(s!=-1){var s=str.substring(s+trp.length,s+trp.length+1); if (s.search(/\d/gi)==-1){return true}else {return false};}else {return false} } //End//Библиотека Кукисов /****************************************************************************************** ******************************************************************************************/ //%%%%%%%%%% ОБСЛУЖИВАНИЕ BB-ТЕГОВ В ПОСТАХ И ФОРМЕ ОТВЕТА %%%%%%%%%%%%%%%%%%%%%%%%%%%%%// //========ФУНКЦИЯ Проверки и Установки Допуска к функции смены НИКА,СТАТУСА,ПОДПИСИ. ======// var Dopusk=0,DopuskList = new Array(); function OnSmenaImage(RazdeL,myarray){ st = document.getElementById("pun-crumbs1").innerHTML; if($("#navlogin").html()!=null){UserLogin = " "}; if (st.indexOf(RazdeL)!= -1){Dopusk = 1; for(q=0;q<myarray.length;q++){ DopuskList.push(myarray[q]); if (myarray[q]== UserLogin)Dopusk = 0;} } } //======= end OnSmenaImage(RazdeL,myarray){} /****************************************************************************************** ТЕЛО ОСНОВНОЙ ФУНЦИИ ******************************************************************************************/ function StartNIZ(){ //======= Обслуживание BB-Тегов в Постах =====================// var SkL="\\[",SkR="\\]"; var patt = new Array() patt[0] = SkL + "NIC" + SkR + "([^" + SkL + SkR + "$]+)" + SkL + "/NIC" + SkR; patt[1] = SkL + "STA" + SkR + "([^" + SkL + SkR + "$]+)" + SkL + "/STA" + SkR; patt[2] = SkL + "AVA" + SkR + "([^" + SkL + SkR + "$]+)" + SkL + "/AVA" + SkR; patt[3] = SkL + "SGN" + SkR + "([^" + SkL + SkR + "]+)" + SkL + "/SGN" + SkR; $(".post-content").each(function (){ var contex = $(this).html(); for (j=0; j < patt.length; j++){ var tags="abbr"; if(j==3)tags="div"; var chang = '<'+tags+' class="hide_Nic-SIG ' + patt[j].substring(2,5) + '" >';//alert(chang) var EndCh = '</'+tags+'>'; var reg_esp = new RegExp(patt[j],"igm"); contex=contex.replace(reg_esp,chang + "$1" + EndCh);//alert(contex) }$(this).html(contex) }); var pa_avtr='<li class="pa-avatar">'; var Avt_St='<img src="'; var Avt_End='"alt="Аватар"/>'; var PostSig_St='<dl class="post-sig"><dt><span>Подпись автора</span></dt><dd><p>'; var PostSig_End='</p></dd></dl>'; var DpskTek; $(".post").each(function (){ var NIk=$(this).find(".post-author .pa-author a").html() DpskTek = 1;for(q=0;q<DopuskList.length;q++){if(DopuskList[q]== NIk){DpskTek = 0;break;}} $(this).find(".hide_Nic-SIG").each(function (){ var S=$(this).html(); /*[AVA]*/ if($(this).hasClass('AVA')==true){var AVA=$(this).parents(".post").find(".post-author .pa-avatar") if(AVA.html()!=null){AVA.html(Avt_St+S+Avt_End)}else $(this).parents(".post").find(".post-author .pa-title").after(pa_avtr+Avt_St+S+Avt_End+'</li>');} if(DpskTek == 1){ /*[NIC]*/ if($(this).hasClass('NIC')==true){$(this).parents(".post").find(".post-author .pa-author a").html(S);} /*[STA]*/ if($(this).hasClass('STA')==true){$(this).parents(".post").find(".post-author .pa-title").html(S);} /*[SGN]*/ if($(this).hasClass('SGN')==true){$(this).parents(".post").find(".post-content .post-sig").replaceWith(""); $(this).parents(".post").find(".post-content").append(PostSig_St+S+PostSig_End);} } });}); //======= end Обслуживание BB-Тегов ===============================// //alert("B") //alert(Dopusk);alert(DopuskList); //========================================================================// //Тут ставим в форму ответа Блок-меню и кнопку, в зависимости от Dopuska var L1="<div id=My clacc=My><img title=\"Смена имиджа\" id=imgNIK-SIG width=20 src=\"http://forumstatic.ru/files/0016/83/1e/15866.png\" onclick=\"$('#stTs').toggle()\" alt=\"Аватар\" style=\"vertical-align:middle\"/><div style=\"z-index: 3000;\" id=\"stTs\" class=\"container\"><img id=\"sdfs\" src=\"http://forumstatic.ru/files/0016/83/1e/28407.png\" style=\"position:absolute;margin:-29px;z-index:3000 0 0 -5px;\"/><img alt=\"NIC\" class=\"iblank NIC\" src=\"/i/blank.gif\" title=\"Cменить ник\"/><img alt=\"STA\" class=\"iblank STA\" src=\"/i/blank.gif\" title=\"Cменить статус\"/><img alt=\"AVA\" class=\"iblank AVA\" src=\"/i/blank.gif\" title=\"Cменить авaтар\"/><img class=\"iblank Galleri\" src=\"/i/blank.gif\" onmouseover=\"THISsrc=this.src;this.src=\"/i/blank.gif\" onmouseout=\"this.src=THISsrc;\" title=\"Выбрать из галереи\" onclick=\"$('#avtrChang-area').toggle('545')\"/><img alt=\"SGN\" class=\"iblank SGN\" src=\"/i/blank.gif\" title=\"Cменить подпись\"/><img alt=\"mem\" class=\"iblank mem\" src=\"/i/blank.gif\" title=\"Вставить запомненное из 'предыдущей сессии'\"/></div></div>"; var L2="<div id=My clacc=My><img title=\"Смена аватара\" id=imgNIK-SIG width=20 src=\"http://forumstatic.ru/files/0016/83/1e/15866.png\" onclick=\"$('#stTs').toggle()\" alt=\"Аватар\" style=\"vertical-align:middle\"/><div style=\"z-index: 3000;\" id=\"stTs\" class=\"container\"><img id=\"sdfs\" src=\"http://forumstatic.ru/files/0016/83/1e/20494.png\" style=\"position:absolute;margin:-29px;z-index:3000 0 0 -5px;\"/><img class=\"iblank STA\" src=\"/i/blank.gif\" /><img alt=\"AVA\" class=\"iblank AVA\" src=\"/i/blank.gif\" title=\"Cменить авaтар\"/><img class=\"iblank Galleri\" src=\"/i/blank.gif\" onmouseover=\"THISsrc=this.src;this.src=\"/i/blank.gif\" onmouseout=\"this.src=THISsrc;\" title=\"Выбрать из галереи\" onclick=\"$('#avtrChang-area').toggle('545')\"/></div></div>"; if(!Dopusk){L1=L2};$("#keyboard-area").after(L1) //========== Галерея ===========================================// var cntrAvt="<div class=\"container\" id=\"avtrChang-area\" onclick=\"$('#avtrChang-area').toggle()\" style=\"display: none\"><div id=\"avtrChang-block\"></div></div>"; var preAvtrST="<img src=\""; var preAvtrEnd="\" height=\"55\" alt=\"Avatar\" onclick=\"var bDSb='[AVA]'+this.src+'[/AVA]';setCookie3('AVA',bDSb,30*24*60*60*1000);smile(''+bDSb+'');\"/> "; $("#smilies-area").before(cntrAvt) for(i=0; i<AvtrArr.length; i++){$("#avtrChang-area").append(preAvtrST+AvtrArr[i]+preAvtrEnd);} //======= Обслуживание запомненных Cookie таблицы Ввода в форме ответа ===============================// var TagsSUM ={NIC:0,STA:0,AVA:0,SGN:0} function ReadAndSetBBcocie() { var BB_Lst = new Array("NIC","STA","AVA","SGN") for(i=0; i<BB_Lst.length; i++){ var s=getCookie3(BB_Lst[i]); if(s){smile('\n'+s);} } } //======= Обслуживание Текущих Cookie таблицы Ввода в форме ответа ===============================// function TagsAlert (BB) { var LBBstr="однострочный"; alert("ОШИБКА ПРИМЕНЕНИЯ ТЕГА:\nTeг ["+BB+"] - не пустой(пустые теги не запоминаются), "+LBBstr+" и однократно-применимый в одном сообщении!\n\n - Для для правильного отображения тегов, используемых в блоке \"КОД\", применяйте скрипт \"Обезвреживания\":\n\n Cсылка на Скрипт:\nhttp://forum.mybb.ru/viewtopic.php?id=21313&p=6#p663171\n\n") } function CmpareInOut(In,Out,BB) { var result='',reSt="["+BB+"]" for(i=0; i<Out.length; i++){if(In.substring(0,i)!=Out.substring(0,i)) { Out=Out.replace(In.substring(0,i-1),''); Out=Out.replace(/^[\s\S]{0,5}\]/igm,'');//alert("Out1="+Out) var re="[/"+BB+"]",Send=Out.indexOf(re); if(Send!=-1)result=Out.substring(0,Send); //alert("result="+result) if(BB!="SGN" && result.replace(/^.*?([\n\r]|$)/,'')!=""){$("#main-reply").val(In);TagsAlert (BB); result='';return false;} // Проверка на многострочность не у подписи! if(result){ //Найдено наполнение тега; result=reSt+result+re; //alert("result="+result) setCookie3(BB,result,30*24*60*60*1000); return result;} else return false; } } return false; // Конец цикла и не нашли } //======= Обслуживание Таблицы Ввода в форме ответа ===============================// $(document).ready( function(){ $('#stTs .iblank[alt]').click(function(){ BB=$(this).attr("alt"); if(BB=='mem'){ReadAndSetBBcocie(); }else { //alert(BB); In=$("#main-reply").val() bbcode('['+BB+']','[/'+BB+']') Out=$("#main-reply").val() var E=CmpareInOut(In,Out,BB); //alert(E); } return false; }); }); //======= end Обслуживание Таблицы Ввода в форме ответа ===============================// } // ### end function StartNIZ(){ ###############//
Заранее спасибо.