Через массивы расширение сплайсинга строк может легко привести к проблемам с производительностью
Кода -копия выглядит следующим образом:
функция stringBuffer () {
это .__ Strings__ = new Array ();
}
Stringbuffer.prototype.append = function (str) {
это .__ Строки __. push (str);
вернуть это;
}
Stringbuffer.prototype.tostring = function () {
вернуть это .__ Строки __. Join ("" ");
}
var buffer = new StringBuffer ();
buffer.append ("hello"). Append ("javaScript");
var result = buffer.toString ();
предупреждение (результат); // Привет, JavaScript
Источник кода: https://gist.github.com/hehongwei44/fe71f10e4d2d9295aeab
Вспомогательная функция позиции прокрутки просмотра страниц просмотра
Кода -копия выглядит следующим образом:
/*Две функции, чтобы определить текущую высоту и ширину страницы*/
функция pageHeight () {
return document.body.scrollheight;
}
function pagewidth () {
return document.body.scrollwidth;
}
/*Определить горизонтальные и вертикальные позиции стержня прокрутки*/
функция scrollx () {
var de = document.documentelement;
вернуть Self.Pagexoffset || (de && de.scrollleft) || document.body.scrollleft;
}
функция scrolly () {
var de = document.documentelement;
вернуть Self.PageYoffset || (de && de.scrolltop) || document.body.scrolltop;
}
/*Две функции, чтобы определить высоту и ширину просмотра браузера*/
функция windowsheight () {
var de = document.documentelement;
вернуть Self.innerheight || (de && de.clientHeight) || document.body.clientHeight;
}
функция Windowwidth () {
var de = document.documentelement;
вернуть Self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
}
Источник кода: https://gist.github.com/hehongwei44/62907b9b7061d4dfadb
Функции, которые регулируют прозрачность элемента
Кода -копия выглядит следующим образом:
/* Функция для настройки прозрачности элемента*/
Функция setoPacity (elem, level) {
// т.е. обработка прозрачности
if (elem.filters) {
elem.style.filters = 'alpha (непрозрачность =' + level + ')';
} еще {
elem.style.opacity = level / 100;
}
}
Источник кода: https://gist.github.com/hehongwei44/87839cd3b8439aff6a3c
Получите несколько общих функций для позиции мыши
Кода -копия выглядит следующим образом:
/*Две общие функции используются для получения текущей позиции мыши относительно всей страницы*/
функция getx (e) {
E = E || window.event;
вернуть E.Pagex || e.clientx + document.body.scrollleft;
}
функция gety (e) {
E = E || window.event;
Вернуть E.Pagey || e.clienty + document.body.scrolltop;
}
/*Две функции, которые получают положение мыши относительно текущего элемента*/
функция getElementx (e) {
return (e && e.layerx) || window.event.offsetx;
}
функция getElementy (e) {
return (e && e.layery) || window.event.offsety;
}
Источник кода: https://gist.github.com/hehongwei44/2732365bd42baa491ef8
Набор функций, которые используют атрибут cssdisplay для видимости элемента переключения
Кода -копия выглядит следующим образом:
/**
* Функции, которые используют дисплей, чтобы скрыть элементы
* */
функция скрыть (elem) {
var curdisplay = getstyle (lem, 'display');
if (curdisplay! = 'none') {
elem. $ olddisplay = curdisplay;
}
elem.style.display = 'none';
}
/**
* Используйте дисплей для отображения функции элемента
* */
функция Show (elem) {
elem.style.display = elem. $ olddisplay || '';
}
Источник кода: https://gist.github.com/hehongwei44/b4192af8227d756bfda6
Общие функции, связанные с стилем
Кода -копия выглядит следующим образом:
/**
* Получите атрибут стиля (имя) указанного элемента (Elem)
* */
функция getStyle (elem, name) {
// Если он существует в стиле [], то это было установлено (и в настоящее время)
if (elem.style [name]) {
вернуть elem.style [name];
}
// в противном случае тестируйте метод IE
иначе if (elem.currentStyle) {
вернуть elem.currentStyle [name];
}
// или метод W3C
else if (document.defaultview && document.defaultview.getComputeDStyle) {
name = name.replace (/(az)/g, "-$ 1");
name = name.tolowercase ();
var s = document.defaultView.getComputEdstyle (elem, "");
return s && s.getpropertyvalue (name);
}
// в противном случае пользователь использует другой браузер
еще {
вернуть ноль;
}
}
Источник кода: https://gist.github.com/hehongwei44/9abf63536accd0f2eeb7
Получите текущую высоту и ширину элемента
Кода -копия выглядит следующим образом:
/**
* Получите истинную высоту элемента
* См. Функцию выше для GetStyle зависимости.
* */
функция getheight (elem) {
вернуть Parseint (getstyle (lem, 'height'));
}
/**
* Получите истинную ширину элемента
* См. Функцию выше для GetStyle зависимости
* */
функция getWidth (elem) {
вернуть Parseint (getStyle (elem, 'width'));
}
Источник кода: https://gist.github.com/hehongwei44/b524ff25991d99625eb2
Выше приведены широко используемые сценарии JavaScript, разделенные в этой статье. Надеюсь, они вам понравятся.