$color-main: #ff5722;
$color-main-dark: #C41C00;
$color-darkGrey: #596568;
$color-Grey: #353535;
$color-lightGrey: #686868;
$color-gnbBg: #ccc;
$color-headSelectBg: #f4f4f4;
$color-textDarkGrey: #585858;
$color-textLightGrey: #909090;
$color-headOptionBg: #e3e3e3;
$color-headBtnGrey: #9eacbc;
$color-toolsBlock: #6e6e6e;
$color-rolerBorder: #979797;
$color-rangeBg: #f5f5f5;
$color-rangeImgIcon: #d0d0d0;
$color-artboardController: #e8e8e8;
$color-mobileIconBg: #201112;
$color-mobileIcon: #ffd232;
$white: #ffffff;

@mixin transition-easing($sec) {
-webkit-transition: all $sec ease-in-out;
-o-transition: all $sec ease-in-out;
transition: all $sec ease-in-out;
}

//
// 미디어 쿼리 MIXIN
// --------------------------------------------------

// Break Point (Desktop First 기준 내림차순 설정)
$desktop-l-width : 1440px;
$laptop-l-width : 1700px;
$tablet-l-width : 1024px;
$tablet-s-width : 768px;
$mob-l-width : 640px;
$mob-m-width : 425px;
$mob-s-width : 375px;

// only PC
@mixin pc-only {
@media screen and (min-width: #{$tablet-l-width + 1}) {
@content;
}
}
// PC large
@mixin pc-large {
@media screen and (min-width: #{$desktop-l-width + 1}) {
@content;
}
}

// --------------------------------------------------

// 노트북
@mixin lap {
@media screen and (max-width: #{$laptop-l-width}) {
@content;
}
}

// 태블릿
@mixin tab {
@media screen and (max-width: #{$tablet-l-width}) {
@content;
}
}
// 모바일
@mixin mob {
@media screen and (max-width: #{$tablet-s-width}) {
@content;
}
}
// 모바일 large
@mixin mob-large {
@media screen and (max-width: #{$mob-l-width}) {
@content;
}
}
// 모바일 mid
@mixin mob-mid {
@media screen and (max-width: #{$mob-m-width}) {
@content;
}
}
// 모바일 small
@mixin mob-small {
@media screen and (max-width: #{$mob-s-width}) {
@content;
}
}




사용


@include mob-large {
}


'Coding' 카테고리의 다른 글

ajax function  (0) 2018.10.10
for문 안에 function 순서 맞추기  (0) 2018.09.10
fabric 참고  (0) 2018.06.21
es6 ::: getter & setter  (0) 2018.06.19
ES6 ::: 배열  (0) 2018.06.18
window.onload = function() {
// 캔버스 요소 주위에 래퍼 만들기 (캔버스 id = "canvas")
var canvas = new fabric.Canvas('canvas').setWidth('700').setHeight('400');
// 오브젝트 추가를 위한 버튼 받아오기
var addRectBtn = document.querySelector('#addRect');
// 페이지 추가를 위한 버튼 받아오기
var addPageBtn = document.querySelector('#addPage');
// 오브젝트 추가 버튼 function
addRectBtn.addEventListener('click', function () {
addRect();
layerLoad();
});
// 페이지 추가 버튼 function
addPageBtn.addEventListener('click', function () {
pageLoad();
});
// 사각형 추가 function
function addRect() {
canvas.add(new fabric.Rect({
left: Math.floor(Math.random() * 500) + 1 ,
top: Math.floor(Math.random() * 230) + 1 ,
fill: getRandomColor(),
width: 200,
height: 150
}));
}
// 추가 된 객체 load
function layerLoad() {
// 추가 된 객체 리스트가 들어갈 공간 #layerList
var layerList = document.querySelector('#layerList');
// 추가 된 객체 갯수가 카운트되서 뿌려질 공간 #layerCount
var layerCount = document.querySelector('#layerCount');
// 캔버스에 모든 객체 가져 오기
var layerObjects = canvas.getObjects();

//layerList.innerHTML = '';
// 캔버스에 모든 객체의 갯수를 layerCount안에 기록한다.
layerCount.innerText = layerObjects.length;

var i;
for (i = 0; i < layerObjects.length; i ++){
var layerObject = layerObjects[i];
var fill = layerObject.fill,
xCoord = Math.floor(layerObject.left),
yCoord = Math.floor(layerObject.top);
var listItem = document.createElement('li');
listItem.classList.add('list-group-item', 'd-flex', 'justify-content-between', 'lh-condensed');
listItem.setAttribute('data-order', i);
listItem.innerHTML =
'<div>\n' +
' <h6 class="my-0">임시 오브젝트 이름</h6>\n' +
' <small class="text-muted" style="font-weight: 600;">사각형 <span style="color: '+ fill +'">' + fill + '</span></small>\n' +
' <small class="text-muted">위치 <span>' + xCoord + ' / '+ yCoord +'</span></small>\n' +
' </div>\n' +
' <span class="text-muted"><i class="fa fa-bars" aria-hidden="true"></i></span>';
layerList.prepend(listItem);
}
$( "#layerList" ).sortable({
stop : function (e, ui) {
//console.log(ui.item[0].getAttribute('data-order'));
var orderChangedTo = [];
var arrayNum;
var i = 0;
$(this).children('li').each(function () {
arrayNum = parseInt($(this).attr('data-order'));
$(this).attr('data-order', layerObjects.length - i - 1);
orderChangedTo.unshift(layerObjects[arrayNum]);
i ++;
});
layerObjects = orderChangedTo;
console.log(layerObjects);
canvas.clear();
for(var j = 0; j < layerObjects.length; j ++){
canvas.add(layerObjects[j]);
}
}
});
}

function pageLoad() {
// 추가 된 페이지 리스트가 들어갈 공간 #pageList
var pageList = document.querySelector('#pageList');
// 캔버스에 모든 객체 가져 오기
var pageObjects = canvas.getObjects();

var i;
for (i = 0; i < pageObjects.length; i ++){
var pageObject = pageObjects[i];
var pageItem = document.createElement('li');
}
pageItem.classList.add('list-group-item', 'd-flex', 'justify-content-between', 'lh-condensed');
pageItem.setAttribute('data-order', i);
pageItem.innerHTML =
'<div>\n' +
' <small class="text-muted">저장내용 <span>' + pageObjects.length +'</span></small>\n' +
' </div>\n' +
' <span class="text-muted"><i class="fa fa-bars" aria-hidden="true"></i></span>';
pageList.prepend(pageObjects);
console.log(pageObjects.length);
}

function getRandomColor() {
var letters = '0123456789ABCDEF';
var color = '#';
for (var i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}


};


'Coding' 카테고리의 다른 글

for문 안에 function 순서 맞추기  (0) 2018.09.10
scss _presets.scss  (0) 2018.08.22
es6 ::: getter & setter  (0) 2018.06.19
ES6 ::: 배열  (0) 2018.06.18
선택 안됨 Jquery ::: 반복연습 2번째  (0) 2018.06.12

const menu = {

  _courses : {

  _appetizers : [],

  _mains : [],

  _desserts : [],

    set appetizers (appetizer){

      this._appetizers.push(appetizer);

    },

    set mains (main){

      this._mains.push(main);

    },

    set desserts (dessert){

      this._desserts.push(dessert);

    },

    get appetizers(){

      return this._appetizers;

    },

    get mains(){

      return this._mains;

    },

    get desserts(){

      return this._desserts;

    }

  },

  get courses(){

    return {

      appetizers : this._courses.appetizers,

      // 이것은 appetizers getter 메소드를 사용합니다.

      mains : this._courses.mains,

      // 이것은 mains getter 메소드를 사용합니다.

      desserts : this._courses.desserts

      // 이것은 desserts getter 메소드를 사용합니다.

    }

  },

  set courses(course){

    

  },

  addDishToCourse(courseName, dishName, dishPrice){

    const dish = {

      name: dishName,

      price: dishPrice

    };

    //this._courses[courseName].push(dish);

this._courses[courseName]= dish;

  },

  getRandomDishFromCourse(courseName){

  const dishes = this._courses[courseName];

    const randomIndex = Math.floor(Math.random() * dishes.length);

    return dishes[randomIndex];

  },

  generateRandomMeal(){

    const appetizer = this.getRandomDishFromCourse('appetizers');

    const main = this.getRandomDishFromCourse('mains');

    const dessert = this.getRandomDishFromCourse('desserts');

    const totalPrice = appetizer.price + main.price + dessert.price;

    

    return `당신의 식사는 ${appetizer.name}, ${main.name}, ${dessert.name} 입니다. 가격은 ${totalPrice}입니다.`;

  }

};


menu.addDishToCourse('appetizers', '샐러드', 4.25);

menu.addDishToCourse('appetizers', '과일', 1.25);

menu.addDishToCourse('appetizers', '스프', 5.25);

menu.addDishToCourse('mains', '스테이크', 12.25);

menu.addDishToCourse('mains', '파스타', 8.25);

menu.addDishToCourse('mains', '피자', 15.25);

menu.addDishToCourse('desserts', '쿠키', 1.25);

menu.addDishToCourse('desserts', '주스', 2.64);

menu.addDishToCourse('desserts', '커피', 2.64);


let meal = menu.generateRandomMeal();

console.log(meal);

'Coding' 카테고리의 다른 글

scss _presets.scss  (0) 2018.08.22
fabric 참고  (0) 2018.06.21
ES6 ::: 배열  (0) 2018.06.18
선택 안됨 Jquery ::: 반복연습 2번째  (0) 2018.06.12
Jquery ::: 반복연습 1번째  (0) 2018.06.12

+ Recent posts