var static = require( 'node-static' ),
port = 4000,
host = 'localhost',
http = require( 'http' );
var file = new static.Server( './public', {
cache: 3600,
gzip: true
} );
var server = http.createServer( function ( request, response ) {
request.addListener( 'end', function () {
file.serve( request, response );
} ).resume();
} );
server.listen( port, host, function() {
console.log( `Listening at http://${ host }:${ port }` );
} );
$('.main-header__info').click(function() {
$(this).toggleClass('main-header__info__active');
if ($(this).hasClass('main-header__info__active')) {
$('.news__block').css({
'display': 'none'
});
$('.main-header__mobile').css({
'display': 'block'
});
} else {
$('.news__block').css({
'display': 'block'
});
$('.main-header__mobile').css({
'display': 'none'
});
}
});
document.querySelector('.main-header__info').onclick = function() {
this.classList.toggle('main-header__info__active'); // не знаю, действительно ли вам нужен этот класс. Если нет, то можно убрать эту строку вовсе
var blockNews = document.querySelector('.news__block'),
headerMobile = document.querySelector('.main-header__mobile'); // Можно достать из этого замыкания и выбирать разово, но тогда переменные будут глобальными
blockNews.style.display = getComputedStyle(blockNews).display === 'block' ? 'none' : 'block';
headerMobile.style.display = getComputedStyle(headerMobile).display === 'none' ? 'block' : 'none';
}
switch ($_GET['id']) {
case '0':
echo '<some html>';
break;
case '1':
echo '<some another html>';
break;
//... и т.д.
}
background-image
- не анимируемое свойство.delete
удаляет пропертиз у объектов.setInterval
- плохой таймер, но для начального прототипа сойдёт. В идеале нужно использовать requestAnimationFrame
.opacity
. max: this.LongCoordinates("right"),
this ссылается на объект window
, поскольку находится внутри объекта(что никак его не переопределяет), а не метода(метод является функцией), а функция переопределяет this. Но у объекта window
нет метода LongCoordinates
, отсюда и ошибка.var model = {
LongCoordinates: function (dir) {
let long = document.querySelector(".long");
long.style.left = "8px";
long.style.right = "274px";
if (dir == "right") return "274px";
},
ballCoordinates: function () {
return {
min: 0,
max: this.LongCoordinates("right"), // теперь this ссылается на model
x: "0px"
}
}
};
<div id="text">...</div,>
, тогда:$(document).on('mouseover', '#text', function(event){
var obj = $(this),
$('.tooltip-row-block').css('display', 'block');
obj.html("Настоящий договор ололо трололо ... ...");
});
$(document).on('mouseout', '#text', function(event){
var obj = $(this);
$('.tooltip-row-block').css('display', 'none');
obj.html("Настоящий договор ололо трололо ...");
});
,
и ;
getComputedStyle(elem).display
HTMLCollection
. Так что нужно по ним фором идти:for (let i = 0; i < itemMenu.length; i++) {
itemMenu[i].onclick = function() {
if (getComputedStyle(menuHeader).display === 'flex') {
menuHeader.style.display = 'none';
} else {
menuHeader.style.display = 'flex';
}
this.classList.toggle('menu-btn_active');
}
}
(function($) {
$.fn.menumaker = function(options) {
var cssmenu = $(this), settings = $.extend({
title: "Menu",
format: "dropdown",
sticky: false
}, options);
return this.each(function() {
cssmenu.prepend('<div id="menu-button">' + settings.title + '</div>');
$(this).find("#menu-button").on('click', function(){
$(this).toggleClass('menu-opened');
var mainmenu = $(this).next('ul');
if (mainmenu.hasClass('open')) {
//mainmenu.hide().removeClass('open'); // -
mainmenu.slideUp(400, function() { // +
$(this).removeClass('open'); // +
}); // +
}
else {
// mainmenu.show().addClass('open'); // -
mainmenu.slideDown(400, function() { // +
$(this).addClass('open'); //+
}); // +
if (settings.format === "dropdown") {
mainmenu.find('ul').show();
}
}
});
cssmenu.find('li ul').parent().addClass('has-sub');
multiTg = function() {
cssmenu.find(".has-sub").prepend('<span class="submenu-button"></span>');
cssmenu.find('.submenu-button').on('click', function() {
$(this).toggleClass('submenu-opened');
if ($(this).siblings('ul').hasClass('open')) {
$(this).siblings('ul').removeClass('open').hide();
}
else {
$(this).siblings('ul').addClass('open').show();
}
});
};
if (settings.format === 'multitoggle') multiTg();
else cssmenu.addClass('dropdown');
if (settings.sticky === true) cssmenu.css('position', 'fixed');
resizeFix = function() {
if ($( window ).width() > 768) {
cssmenu.find('ul').show();
}
if ($(window).width() <= 768) {
cssmenu.find('ul').hide().removeClass('open');
}
};
resizeFix();
return $(window).on('resize', resizeFix);
});
};
})(jQuery);
(function($){
$(document).ready(function(){
$("#cssmenu").menumaker({
title: "Menu",
format: "multitoggle"
});
});
})(jQuery);