Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

readme.md

JSF

JS-фреймворк для работы с css классами dom элементов

Использование (только в Google Chrome)

c поддержкой ES6

  <script src="jsf.js"></script>

Демо

  1. Управление блоками


  2. Решение СЛАУ методом Крамера


Документация

Содержание

  1. Выборка
  2. dom.css()
  3. dom.css().toString()
  4. dom.addClass()
  5. dom.removeClass()
  6. dom.get()
  7. dom.html()
  8. dom.text()
  9. dom.delete()
  10. dom.on()
  11. dom.mediacss()

Выборка

Основной метод framework`a, который находит элементы DOM. Возвращает строку, которая затем подхватывается заранее определенными методами.

dom = ('#id'); // => получам id элемент 
dom = ('.class'); // => получам элементы c определенным классом
dom = ('tag'); // => получам все теги

dom.css()

Этот метод получает все css-свойства первого элемента из листа dom-выборки, также можно узнать значение конкретного свойства и установить css-свойства для всех dom-элементов всей выборки.

// каждое css-свойство должно
// заканчиваться точкой с запятой (;)
('div#main article').css(`
	width: 130px;
	height: 130px;
	padding: 10px;
`); 

('article').css('padding'); // "10px"
('article').css(); // ассоциативный массив свойств
('article').css().toString('css'); // "width: 130px; height: 130px; padding: 10px"

dom.addClass()

Этот метод добавляет класс dom-элементам из выборки.

('p').addClass('title'); // dom: <p class="title"></p>

dom.removeClass()

Этот метод удаляет класс у dom-элементов из выборки.

('p').removeClass('title'); // dom: <p></p>

dom.get()

Этот метод получает текущий номер элемента в списке элементов выборки.

('p').get(1).css('font-size: 30px'); 

// аналогичный, но более стабильный способ:
('p:nth-child(1)').css('font-size: 30px'); 

dom.html()

Этот метод получает html содержимое первого элемента в списке элементов выборки. Также можно записать html-код внутрь dom-элемента, перед dom-элементов и после.

// получает html содержимое dom-элемента с идентификатором max
('#max').html();

// перезаписывает html содержимое dom-элемента с идентификатором max
('#max').html("<p style='font-size: 40px'>text</p>");

// добавляет параграф перед dom-элементом с идентификатором max
('#max').html("<p style='font-size: 40px'>text</p>", 'beforebegin');

// добавляет параграф внутри dom-элемента, перед первым дочерним потомком
('#max').html("<p style='font-size: 40px'>text</p>", 'afterbegin');

// добавляет параграф внутри dom-элемента, после последнего дочернего элемента
('#max').html("<p style='font-size: 40px'>text</p>", 'beforeend'); 

// добавляет параграф после dom-элемента с идентификатором max
('#max').html("<p style='font-size: 40px'>text</p>", 'afterend') 

dom.text()

Этот метод устанавливает и получает текстовое содержимое dom-элемента.

let pi = Math.PI;
('p.math').text(`Число Pi = ${pi}`);
('p.math').text(); // "Число Pi = 3.141592653589793"

dom.delete()

Этот метод удаляет dom-элементы всей выборки.

('p').delete();
('p').text(); // undefined

dom.on()

Этот метод устанавливает пользовательские события.

('p').on("click", function(){
	console.log('click p');
});

('input').on("blur", function(){
	console.log('onblur');
});

dom.mediacss()

Этот метод устанавливает медиа-запрос для dom-элемента. Таким образом, мы можем, динамически при помощи javascript, влиять на поведение окна браузера

// если окно браузера больше 1024px цвет фона страницы будет светло-зеленым
('body').mediacss('screen and (min-width: 1024px)', `
	background-color: lightgreen;
`);

// если свойства были уже определены в атрибуте style,
// только !important cможет переопределить их
('.block').mediacss('(max-width: 1000px)', `
	background: yellow !important;
	width: 80% !important;
	margin: 10px auto !important;
`);

Недостатки

  1. Расширение базовой структуры данных String,
    отчего в будущем это может привести к регрессии веб-приложения
  2. Неотлаженные до конца методы
  3. Поддержка ES6 синтаксиса только в Google Chrome