const time = 5000;
setInterval(function(){
//код
}, 100)
componentDidMount(): вызывается после рендеринга компонента. Здесь можно выполнять запросы к удаленным ресурсам
componentDidMount() {
document.addEventListener('click', this.close);
}
componentWillUnmount() {
document.removeEventListener('click', this.close);
}
close = (event) => {
const domNode = ReactDOM.findDOMNode(this);
if (!domNode || !domNode.contains(event.target)) {
this.setState({ isOpened: false });
}
}
${fontFace('HelveticaNeue', 'HelveticaNeueCyr-Bold', 600, 'normal')}
import { createGlobalStyle } from 'styled-components';
export function fontFace(name, src, fontWeight = 'normal', fontStyle = 'normal'){
/* eslint-disable */
return `
@font-face{
font-family: "${name}";
src: url(${require('../../../../fonts/' + src + '.eot')});
src: url(${require('../../../../fonts/' + src + '.eot')}?#iefix) format("embedded-opentype"),
url(${require('../../../../fonts/' + src + '.woff')}) format("woff"),
url(${require('../../../../fonts/' + src + '.ttf')}) format("truetype"),
url(${require('../../../../fonts/' + src + '.svg')}#${name}) format("svg");
font-style: ${fontStyle};
font-weight: ${fontWeight};
}
`;
}
export const GlobalStyle = createGlobalStyle`
${fontFace('HelveticaNeue', 'HelveticaNeueCyr-Thin', 100, 'normal')}
${fontFace('HelveticaNeue', 'HelveticaNeueCyr-Light', 300, 'normal')}
${fontFace('HelveticaNeue', 'HelveticaNeueCyr-Roman', 'normal', 'normal')}
${fontFace('HelveticaNeue', 'HelveticaNeueCyr-Medium', 500, 'normal')}
${fontFace('HelveticaNeue', 'HelveticaNeueCyr-Bold', 600, 'normal')}
*{
box-sizing: border-box;
}
a{
color: #17b0e7;
text-decoration: none;
}
body{
font-family: 'HelveticaNeue';
}
`;
$(document).on('click', '.btn-buy', function(){
var ids = []; //обьявляем пустой массив
var clickedId = $(this).parent().data('productid'); //запоминаем id кликнутой кнопки точнее ее родителя
$('.btn-buy').each(function(){
var id = $(this).parent().data('productid'); //ищем остальные id и исключаем наш кликнутый id
if(id !== clickedId){
ids.push(id)
}
})
alert(ids) //выводим массив id
// свою функцию cart.remove(ids) вызываем здесь
})
const path = require('path');
module.exports = {
entry : './resource/js/index.js',
output: {
path: path.resolve(__dirname, './public/assets/js/'),
filename: 'app.js',
},
module: {
rules: [
{
test : /\.scss$/,
exclude: /node_modules/,
use: [
{
loader: "style-loader"
},
{
loader: "css-loader"
},
{
loader: "sass-loader"
}
]
}
]
},
}
%, vh и calc вам в помощь.
Ну, еще position: relative и absolute