Как с помощью браузера можно определить элемент дизайна. | |
Полезные скрипты, необходимые темы для новичков, а также ссылки на сайты рассказывающие что такое НТМЛ и CSS. | |
Ответы на часто задаваемые вопросы. | |
Как задавать вопросы! Разница между стилем и скриптом. ( Советы) | Плюс к названию темы еще и Памятка. |
Запросы по скриптам[3]
Сообщений 781 страница 800 из 1000
Поделиться1Чт, 14 Авг 2014 12:23:18
Поделиться781Пн, 23 Фев 2015 21:18:46
ыыы )
я почитала свой пост внимательно и (хвала гуглу) сделала это сама. )))
поглядите, плз, код - оно покатит? а то опыта в этом деле маловато.
<script type="text/javascript">
(function(){
if(!(GroupID!=3 && $('#pun-viewtopic').length && $('#post').length && this.document==top.document)) return;//888888888 .serialize() под Win 1251 88888888888888888888
// Инициализируем таблицу перевода
var transAnsiAjaxSys = [];
var arr=[0x402,0x403,0x201A,0x453,0x201E,0x2026,0x2020,0x2021,0x20AC,0x2030,0x409,0x2039,
0x40A,0x40C,0x40B,0x40F,0x452,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,'0',0x2122,0x459,0x203A,0x45A,
0x45C,0x45B,0x45F,0x0A0,0x40E,0x45E,0x408,0x0A4,0x490,0x0A6,0x0A7,0x401,0x0A9,0x404,0x0AB,
0x0AC,0x0AD,0x0AE,0x407,0x0B0,0x0B1,0x406,0x456,0x491,0x0B5,0x0B6,0x0B7,0x451,0x2116,0x454,
0x0BB,0x458,0x405,0x455,0x457,0x410,0x411,0x412,0x413,0x414,0x415,0x416,0x417,0x418,0x419,
0x41A,0x41B,0x41C,0x41D,0x41E,0x41F,0x420,0x421,0x422,0x423,0x424,0x425,0x426,0x427,0x428,
0x429,0x42A,0x42B,0x42C,0x42D,0x42E,0x42F,0x430,0x431,0x432,0x433,0x434,0x435,0x436,0x437,
0x438,0x439,0x43A,0x43B,0x43C,0x43D,0x43E,0x43F,0x440,0x441,0x442,0x443,0x444,0x445,0x446,
0x447,0x448,0x449,0x44A,0x44B,0x44C,0x44D,0x44E,0x44F
];
var arLng = arr.length;
for (var i = 0; i < arLng; i++)transAnsiAjaxSys[arr[i]]=i+128;
for (var i = 0x410; i <= 0x44F; i++) transAnsiAjaxSys[i] = i - 0x350; // А-Яа-яvar MyencodeURIwin125 = function(str){
var ret = [];
// Составляем массив кодов символов, попутно переводим кириллицу
for (var i = 0; i < str.length; i++)
{
var n = str.charCodeAt(i);
if (typeof transAnsiAjaxSys[n] != 'undefined')
n = transAnsiAjaxSys[n];
if (n <= 0xFF)
ret.push(n);
}
return escape(String.fromCharCode.apply(null, ret)).replace(/\+/mg,'%2B');
}$.fn.extend({serialize : function() { //!!RE: input type="submit" - не вписывается в serialize;
var s = '';
var obj = this.serializeArray();
var Lng = obj.length;
for(var i=0;i<Lng;i++){
if(i)s+='&';
s+=MyencodeURIwin125(obj[i].name)+'='+MyencodeURIwin125(obj[i].value);
}
return s; }
})
//88888//END// .serialize() под Win 1251 88888888888888888888function ajaxSendForm(lnk,frmDat){
$.ajax({
url: lnk,
dataType: "html",
type: "POST",
data: frmDat,
success: function(response) {//
var prev=$(response).find('#post-preview');
var errs = $(response).find('#post-errors');
if(prev.length) {
var str = prev.wrap('<div></div>').parent().html();
$('#post #post-preview,#post #post-errors').remove();
$('#post').prepend(str);
}
if(errs.length) {
var str = errs.wrap('<div></div>').parent().html();
$('#post #post-preview,#post #post-errors',parent.document.body).remove();
$('#post',parent.document.body).prepend(str);
}
$('#post2').remove();
busy = false;
return;
},
error: function(response, str){
for(var key in response) {
alert('error:'+key+':'+response[key])
}
//alert('Возникла ошибка: ' + xhr.responseCode);
}
});
}
function NewForm (){ /*==123==;
<form id="post2" style="display:none" class="container" method="post" action="/post.php?action=post&fid=#$1#">
<div id="formkey"></div>
<div id="formetc" style="display:none"></div>
<input type="hidden" name="form_sent" value="1">
<input type="hidden" name="form_user" value="#$2#">
<textarea id="main-reply" name="req_message" rows="20"></textarea>
<input class="button-pr" name="preview" value="Посмотреть" accesskey="p">
<input class="button-ed" name="edit" value="Редактировать" accesskey="p">
</form>
==123==;*/
} NewForm = NewForm.toString().split('==123==;')[1];NewForm = NewForm.replace('#$2#',UserLogin);var busy = false
Preview = function () {
if(busy) return;
busy = true;
$('#post2').remove();
form = $(NewForm);
var lnk = $('#post').attr('action')
var val = $('#main-reply').val()
form.insertBefore("#post");
form.find('#main-reply').val(val);
var hta = $('#post fieldset').hide(1500);
if(!process_form(form[0])){$('#post2').remove();busy = false; return;}
var frmDat=form.serialize();//alert(frmDat);
ajaxSendForm(lnk,frmDat);
}
Edit = function () {
var sta = $('#post fieldset').show(1500);
var hppr = $('#post-preview').hide(1500);
}var kn_Preview = ' <input type="button" class="button-pr" value="Посмотреть" onclick="Preview()"/> <input type="button" class="button-ed" value="Редактировать" onclick="Edit()" /> ';
$('#post').find('<input[value="Посмотреть"]').hide().after(kn_Preview);
}())
</script>
Отредактировано Герда (Пн, 23 Фев 2015 21:27:16)
Поделиться782Вт, 24 Фев 2015 02:19:03
Герда, чуть подправил, А Ты молодца!
Код:<!-- Предпросмотр в Топике с кнопкой превью и редактировать --> <script type="text/javascript"> (function(){ if(!(GroupID!=3 && $('#pun-viewtopic').length && $('#post').length && this.document==top.document)) return; //888888888 .serialize() под Win 1251 88888888888888888888 // Инициализируем таблицу перевода var transAnsiAjaxSys = []; var arr=[0x402,0x403,0x201A,0x453,0x201E,0x2026,0x2020,0x2021,0x20AC,0x2030,0x409,0x2039, 0x40A,0x40C,0x40B,0x40F,0x452,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,'0',0x2122,0x459,0x203A,0x45A, 0x45C,0x45B,0x45F,0x0A0,0x40E,0x45E,0x408,0x0A4,0x490,0x0A6,0x0A7,0x401,0x0A9,0x404,0x0AB, 0x0AC,0x0AD,0x0AE,0x407,0x0B0,0x0B1,0x406,0x456,0x491,0x0B5,0x0B6,0x0B7,0x451,0x2116,0x454, 0x0BB,0x458,0x405,0x455,0x457,0x410,0x411,0x412,0x413,0x414,0x415,0x416,0x417,0x418,0x419, 0x41A,0x41B,0x41C,0x41D,0x41E,0x41F,0x420,0x421,0x422,0x423,0x424,0x425,0x426,0x427,0x428, 0x429,0x42A,0x42B,0x42C,0x42D,0x42E,0x42F,0x430,0x431,0x432,0x433,0x434,0x435,0x436,0x437, 0x438,0x439,0x43A,0x43B,0x43C,0x43D,0x43E,0x43F,0x440,0x441,0x442,0x443,0x444,0x445,0x446, 0x447,0x448,0x449,0x44A,0x44B,0x44C,0x44D,0x44E,0x44F ]; var arLng = arr.length; for (var i = 0; i < arLng; i++)transAnsiAjaxSys[arr[i]]=i+128; for (var i = 0x410; i <= 0x44F; i++) transAnsiAjaxSys[i] = i - 0x350; // А-Яа-я var MyencodeURIwin125 = function(str){ var ret = []; // Составляем массив кодов символов, попутно переводим кириллицу for (var i = 0; i < str.length; i++) { var n = str.charCodeAt(i); if (typeof transAnsiAjaxSys[n] != 'undefined') n = transAnsiAjaxSys[n]; if (n <= 0xFF) ret.push(n); } return escape(String.fromCharCode.apply(null, ret)).replace(/\+/mg,'%2B'); } $.fn.extend({serialize : function() { //!!RE: input type="submit" - не вписывается в serialize; var s = ''; var obj = this.serializeArray(); var Lng = obj.length; for(var i=0;i<Lng;i++){ if(i)s+='&'; s+=MyencodeURIwin125(obj[i].name)+'='+MyencodeURIwin125(obj[i].value); } return s; } }) //88888//END// .serialize() под Win 1251 88888888888888888888 function ajaxSendForm(lnk,frmDat){ $.ajax({ url: lnk, dataType: "html", type: "POST", async: false, data: frmDat, success: function(response) {// var prev=$(response).find('#post-preview'); var errs = $(response).find('#post-errors'); if(prev.length) { var str = prev.wrap('<div></div>').parent().html(); $('#post #post-preview,#post #post-errors').remove(); $('#post').prepend(str); } if(errs.length) { var str = errs.wrap('<div></div>').parent().html(); $('#post #post-preview,#post #post-errors',parent.document.body).remove(); $('#post',parent.document.body).prepend(str); } $('#post2').remove(); busy = false; return; }, error: function(response, str){ for(var key in response) { alert('error:'+key+':'+response[key]) } //alert('Возникла ошибка: ' + xhr.responseCode); } }); } function NewForm (){ /*==123==; <form id="post2" style="display:none" class="container" method="post" action="/post.php?action=post&fid=#$1#"> <div id="formkey"></div> <div id="formetc" style="display:none"></div> <input type="hidden" name="form_sent" value="1"> <input type="hidden" name="form_user" value="#$2#"> <textarea id="main-reply" name="req_message" rows="20"></textarea> <input class="button-pr" name="preview" value="Посмотреть" accesskey="p"> <input class="button-ed" name="edit" value="Редактировать" accesskey="p"> </form> ==123==;*/ } NewForm = NewForm.toString().split('==123==;')[1];NewForm = NewForm.replace('#$2#',UserLogin); var busy = false Preview = function () { if(busy) return; busy = true; $('#post2').remove(); form = $(NewForm); var lnk = $('#post').attr('action') var val = $('#main-reply').val() form.insertBefore("#post"); form.find('#main-reply').val(val); if(!process_form(form[0])){$('#post2').remove();busy = false; return;} var frmDat=form.serialize();//alert(frmDat); ajaxSendForm(lnk,frmDat); $('#post fieldset').slideUp(800,function () {$('#post-preview').slideDown(700);}); $('#post-preview').hide(); } Edit = function () { $('#post fieldset').slideDown(700); $('#post-preview').slideUp(700); } var kn_Preview = ' <span id="priv-btn"><input type="button" class="button-pr" value="Посмотреть" onclick="Preview()"/> <input type="button" class="button-ed" value="Редактировать" onclick="Edit()" /></span> '; $('#post').find('<input[value="Посмотреть"]').hide().after(kn_Preview); }()) </script>
Копируй полностью, Поправил очередность.
Поделиться783Вт, 24 Фев 2015 04:21:38
А Ты молодца!
не, молодец - ты, а я сама в шоке, шо хоть две строчки родила... ))
по длине при больших постах - согласна, но если проверяешь на корректность три строчки, компактнее просмотр. хотя с нашими замутами по дизайну, у нас компактность близовская теряется, ибо попросили растянуть форму ответа.
слуш, а ты не знаешь, как сделать в туда анимацию не задвигания, а нечто более плавное? например, растворение?
с такими попрыгушками как-то не здорово.
Поделиться784Вт, 24 Фев 2015 11:00:36
а нечто более плавное? например, растворение?
Не получицо, растворение двух блоков, открываемых/скрываемых последовательно-инверсно, - завсегда прыгать будет, поскольку при растворении - высота постоянна, значит как только открывается - пустой блок скачет вверх. растворение хорошо, когда один блок не привязанный к иным или с абсолютным позиционированием, чего нельзя сделать тут, ибо высота заранее неизвестна.
Вообще неплохо бы сделать Видео как у тебя скачет, ибо у меня - плавно,
Зы - Возможно ты первый скрипт скопировала неполностью, там поправка вверху, поправил очередность
==============
Ксать. Возможно, именно прыжком, без времени анимации будет более удобоваримо, примерно как текущий спойлер с некой начальной высотой(при равенстве высот - т.е небольшом по высоте тексте - вообще незаметно)
Код:<!-- Предпросмотр в Топике с кнопкой превью и редактировать --> <script type="text/javascript"> (function(){ if(!(GroupID!=3 && $('#pun-viewtopic').length && $('#post').length && this.document==top.document)) return; //888888888 .serialize() под Win 1251 88888888888888888888 // Инициализируем таблицу перевода var transAnsiAjaxSys = []; var arr=[0x402,0x403,0x201A,0x453,0x201E,0x2026,0x2020,0x2021,0x20AC,0x2030,0x409,0x2039, 0x40A,0x40C,0x40B,0x40F,0x452,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,'0',0x2122,0x459,0x203A,0x45A, 0x45C,0x45B,0x45F,0x0A0,0x40E,0x45E,0x408,0x0A4,0x490,0x0A6,0x0A7,0x401,0x0A9,0x404,0x0AB, 0x0AC,0x0AD,0x0AE,0x407,0x0B0,0x0B1,0x406,0x456,0x491,0x0B5,0x0B6,0x0B7,0x451,0x2116,0x454, 0x0BB,0x458,0x405,0x455,0x457,0x410,0x411,0x412,0x413,0x414,0x415,0x416,0x417,0x418,0x419, 0x41A,0x41B,0x41C,0x41D,0x41E,0x41F,0x420,0x421,0x422,0x423,0x424,0x425,0x426,0x427,0x428, 0x429,0x42A,0x42B,0x42C,0x42D,0x42E,0x42F,0x430,0x431,0x432,0x433,0x434,0x435,0x436,0x437, 0x438,0x439,0x43A,0x43B,0x43C,0x43D,0x43E,0x43F,0x440,0x441,0x442,0x443,0x444,0x445,0x446, 0x447,0x448,0x449,0x44A,0x44B,0x44C,0x44D,0x44E,0x44F ]; var arLng = arr.length; for (var i = 0; i < arLng; i++)transAnsiAjaxSys[arr[i]]=i+128; for (var i = 0x410; i <= 0x44F; i++) transAnsiAjaxSys[i] = i - 0x350; // А-Яа-я var MyencodeURIwin125 = function(str){ var ret = []; // Составляем массив кодов символов, попутно переводим кириллицу for (var i = 0; i < str.length; i++) { var n = str.charCodeAt(i); if (typeof transAnsiAjaxSys[n] != 'undefined') n = transAnsiAjaxSys[n]; if (n <= 0xFF) ret.push(n); } return escape(String.fromCharCode.apply(null, ret)).replace(/\+/mg,'%2B'); } $.fn.extend({serialize : function() { //!!RE: input type="submit" - не вписывается в serialize; var s = ''; var obj = this.serializeArray(); var Lng = obj.length; for(var i=0;i<Lng;i++){ if(i)s+='&'; s+=MyencodeURIwin125(obj[i].name)+'='+MyencodeURIwin125(obj[i].value); } return s; } }) //88888//END// .serialize() под Win 1251 88888888888888888888 function ajaxSendForm(lnk,frmDat){ $.ajax({ url: lnk, dataType: "html", type: "POST", async: false, data: frmDat, success: function(response) {// var prev=$(response).find('#post-preview'); var errs = $(response).find('#post-errors'); if(prev.length) { var str = prev.wrap('<div></div>').parent().html(); $('#post #post-preview,#post #post-errors').remove(); $('#post').prepend(str); } if(errs.length) { var str = errs.wrap('<div></div>').parent().html(); $('#post #post-preview,#post #post-errors',parent.document.body).remove(); $('#post',parent.document.body).prepend(str); } $('#post2').remove(); busy = false; return; }, error: function(response, str){ for(var key in response) { alert('error:'+key+':'+response[key]) } //alert('Возникла ошибка: ' + xhr.responseCode); } }); } function NewForm (){ /*==123==; <form id="post2" style="display:none" class="container" method="post" action="/post.php?action=post&fid=#$1#"> <div id="formkey"></div> <div id="formetc" style="display:none"></div> <input type="hidden" name="form_sent" value="1"> <input type="hidden" name="form_user" value="#$2#"> <textarea id="main-reply" name="req_message" rows="20"></textarea> <input class="button-pr" name="preview" value="Посмотреть" accesskey="p"> <input class="button-ed" name="edit" value="Редактировать" accesskey="p"> </form> ==123==;*/ } NewForm = NewForm.toString().split('==123==;')[1];NewForm = NewForm.replace('#$2#',UserLogin); var busy = false Preview = function () { if(busy) return; busy = true; $('#post2').remove(); form = $(NewForm); var lnk = $('#post').attr('action') var val = $('#main-reply').val() form.insertBefore("#post"); form.find('#main-reply').val(val); if(!process_form(form[0])){$('#post2').remove();busy = false; return;} var frmDat=form.serialize();//alert(frmDat); ajaxSendForm(lnk,frmDat); $('#post fieldset').hide() $('#post-preview').show(); } Edit = function () { $('#post fieldset').show(); $('#post-preview').hide(); } var kn_Preview = ' <span id="priv-btn"><input type="button" class="button-pr" value="Посмотреть" onclick="Preview()"/> <input type="button" class="button-ed" value="Редактировать" onclick="Edit()" /></span> '; $('#post').find('<input[value="Посмотреть"]').hide().after(kn_Preview); }()) </script>
Поделиться785Ср, 25 Фев 2015 22:51:18
вот с такими параметрами получилось совместить приятное с полезным
$('#post fieldset').hide('slow')
$('#post-preview').show('slow');
}
Edit = function () {
$('#post fieldset').show('slow');
$('#post-preview').hide('fast');
}
последний штрих... как можно добавить класс к кнопке, которая сейчас жмякнута?
надо выделить стиль активной кнопки при переключением между форм редактировать/посмотреть
Поделиться786Ср, 25 Фев 2015 23:26:22
Герда
... Preview = function (th) { $('.button-pr').removeClass('selected');$(th).addClass('selected') if(busy) return; busy = true; $('#post2').remove(); form = $(NewForm); var lnk = $('#post').attr('action') var val = $('#main-reply').val() form.insertBefore("#post"); form.find('#main-reply').val(val); if(!process_form(form[0])){$('#post2').remove();busy = false; return;} var frmDat=form.serialize();//alert(frmDat); ajaxSendForm(lnk,frmDat); $('#post fieldset').hide() $('#post-preview').show(); } Edit = function (th) { $('.button-pr').removeClass('selected');$(th).addClass('selected') $('#post fieldset').show(); $('#post-preview').hide(); } var kn_Preview = ' <span id="priv-btn"><input type="button" class="button-pr" value="Посмотреть" onclick="Preview(this)"/> <input type="button" class="button-ed" value="Редактировать" onclick="Edit(this)" /></span> '; $('#post').find('<input[value="Посмотреть"]').hide().after(kn_Preview); }()) </script>
Нужный кусок
Поделиться787Ср, 25 Фев 2015 23:53:15
Deff
спс большое.
Поделиться788Чт, 26 Фев 2015 00:01:54
$('#post fieldset').hide('slow') $('#post-preview').show('slow');
}Edit = function () { $('#post fieldset').show('slow'); $('#post-preview').hide('fast');}
Чот Ты мудришь, самый простой и верный последний метод, ибо отдача страницы превью = разная по времени и от состояния интернета и от сервиса. Чисто как спойлер, без вычурности - самое то, и не зависит от параметров
Поделиться789Чт, 26 Фев 2015 00:13:40
упс, тут возникает ситуация, когда у обоих кнопок появляется selected
если кликнуть просмотр, а потом вернуться к редактированию, то обе кнопки считают себя активными. (
Поделиться790Чт, 26 Фев 2015 00:19:11
Герда
var kn_Preview = ' <span id="priv-btn"><input type="button" class="button-pr" value="Посмотреть" onclick="Preview(this)"/> <input type="button" class="button-pr" value="Редактировать" onclick="Edit(this)" /></span> ';
$('#post').find('<input[value="Посмотреть"]').hide().after(kn_Preview);
}())
Поправь класс у второй - нафига тьву два разных ? (Я на автомате думал что один)
Поделиться791Чт, 26 Фев 2015 20:31:44
И зачем использовать hide и show, если можно так:
$('#post fieldset, #post-preview').toggle('slow');
Открытый закроется, закрытый откроется.
Поделиться792Сб, 28 Фев 2015 22:35:50
Поправил
Да кривизна какая то.
Написано что можно вставить текст или HTML. Поставил для примера вот что
<script type="text/javascript">
var group = [3];
var img = 'Для того чтобы видеть изображение <a href="http://store.mybb.ru/login.php">войдите на форум</a> или <a href="http://store.mybb.ru/register.php">зарегистрируйтесь</a>';
var link = 'Для того чтобы видеть ссылки <a href="http://store.mybb.ru/login.php">войдите на форум</a> или <a href="http://store.mybb.ru/register.php">зарегистрируйтесь</a>';
for (var i=0; i<group.length; i++) {if(GroupID == group[i]) {if(img.length) {$('.post-content .postimg').replaceWith(img);} if(link.length) {$('.post-content a').replaceWith(link);}}}
</script>
Вот что пишет для изображений
http://store.mybb.ru/viewtopic.php?id=1#p4
Вобщем то мне это не надо, я так ради интереса потестил
Поделиться793Сб, 28 Фев 2015 23:16:59
Да кривизна какая то.
Написано что можно вставить текст или HTML. Поставил для примера вот чтоВот что пишет для изображений
Поправил(У тьву получались вложенные преобразования нововставленных ссылок)
Поделиться794Вс, 1 Мар 2015 00:11:05
а есть способ заставить блок статистики отображаться в любом месте форума, а не тока на главной?
Поделиться795Вс, 1 Мар 2015 01:39:05
Герда
Нафига лишние запросы плодить ?
Мон сделать запоминание последнего варианта считанного на главной
Поделиться796Вс, 1 Мар 2015 04:15:52
Герда
<script type="text/javascript"> if(window.localStorage){ if($('#pun-index').length) { localStorage.setItem('stats',$('#pun-stats').html()); } else { $('#pun-main').after('<div id="pun-stats" class="section">'+localStorage.getItem('stats')+'</div>'); } } else { console.log('Error: localStorage'); } </script>
Отредактировано Fover (Вс, 1 Мар 2015 04:30:19)
Поделиться797Вс, 1 Мар 2015 13:23:09
Поправил
Вот теперь айс))
Поделиться798Вс, 1 Мар 2015 20:35:24
Нафига лишние запросы плодить ?
Мон сделать запоминание последнего варианта считанного на главной
можно и так. лишь бы торчала - занимала место )
Поделиться799Вс, 1 Мар 2015 21:52:26
Доброго вечера Вам.
Нужен скрипт-запрета входа из страны (Укропия)
именно, что-бы был отсек )))
Буду благодарен.
+ ещё...
искал и не нашел... Поиск...по мому его...
скрытие постов (ссылок, фото), вчера видел, поправленный, но сегодня не нашел
Отредактировано ACT3255 (Вс, 1 Мар 2015 22:06:57)
Поделиться800Вс, 1 Мар 2015 23:04:59
ACT3255
Скрипты от пользователей 3
Запрет для Украины поищу ибо писал уже как-то.