LINUX.ORG.RU

Сообщения saufesma

 

CLIME an EMACS SLIME backend for McCLIM

 , ,

saufesma
()

Не понятно как использовать выхлоп всех доступных функций для работы с объектом

Все доступные функции для работы с объектом лежат в прототипе

увидеть их можно так:

<select id="list"></select>
<script>console.dir(document.querySelector('#list').__proto__)</script>

Когда вы используете

console.dir(document.querySelector('#list').__proto__), вы получаете доступ к прототипу (или родительскому объекту) элемента <select> с идентификатором list. Это может быть полезно для понимания свойств и методов, доступных для данного элемента. Что можно получить из console.dir(document.querySelector('#list').__proto__)

Свойства и методы элемента:

Вы увидите все свойства и методы, которые доступны для элемента <select>, включая стандартные методы DOM, такие как: add(): Добавляет новый элемент <option> в список. remove(): Удаляет элемент <option> из списка. item(): Возвращает элемент <option> по индексу. selectedIndex: Свойство, которое указывает индекс выбранного элемента. value: Свойство, которое возвращает или устанавливает значение выбранного элемента.

Свойства HTML:

Вы также увидите свойства, специфичные для HTML-элемента <select>, такие как: length: Количество элементов <option> в списке. multiple: Указывает, может ли пользователь выбрать несколько элементов. name: Имя элемента, которое отправляется на сервер при отправке формы.

События:

Прототип включает методы для работы с событиями, такие как addEventListener() и removeEventListener(), которые позволяют добавлять и удалять обработчики событий для элемента.

Наследование:

Вы также увидите, что прототип элемента <select> наследует свойства и методы от других объектов, таких как HTMLElement и Element, что дает доступ к более общим свойствам и методам, доступным для всех HTML-элементов.

Пример использования

Если вы хотите получить информацию о текущем выбранном элементе в списке, вы можете использовать следующее:

javascript
const selectElement = document.querySelector('#list');
const selectedValue = selectElement.value; // Получаем значение выбранного элемента
const selectedIndex = selectElement.selectedIndex; // Получаем индекс выбранного элемента

console.log(`Выбранное значение: ${selectedValue}, Индекс: ${selectedIndex}`);

Заключение

Использование console.dir() с __proto__ позволяет вам исследовать структуру и методы объекта, что может быть полезно для отладки и понимания возможностей элемента <select> и его взаимодействия с JavaScript.

 , ,

saufesma
()

Нужна функция для работы с таблицой

Перепишите функцию, пожалуйста, чтобы при нажатии на ячейку с числом код пробегает по всем ячейкам таблицы и выдаёт количество ячеек содержащих данное число. И подкрашивает эти ячейки в другой цвет.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatable" content="ie=edge">
    <title>Document</title>
</head>
  <body>
    <style>
      table, tr, td{
	  border: 1px solid;
  border-collapse: collapse;
}
      </style>
    <table id="myTable">
      <tr>
	<td>string</td>
	<td>4</td>	
      </tr>
            <tr>
	<td>string</td>
	<td>4</td>	
	    </tr>
	          <tr>
	<td>string</td>
	<td>4</td>	
		  </tr>
		        <tr>
	<td>string</td>
	<td>10</td>	
			</tr>
			      <tr>
	<td>string</td>
	<td>12</td>	
      </tr>
	      <tr>
	<td>string</td>
	<td>4</td>	
	      </tr>
	            <tr>
	<td>string</td>
	<td>4</td>	
      </tr>
      </table>
<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
  alert(document.getElementById("myTable").rows[2].cells[1].innerHTML);
}
</script>
  </body>
</html>

криво нахожу индекс ячейки
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatable" content="ie=edge">
    <title>Document</title>
</head>
<html>
<head>
<style>
   table,
   td {
      border: 1px solid black;
   }
</style>
</head>
<body>
<table id="position1">
  <tr>
    <td onclick="runM(this)">TL</td>
    <td onclick="runM(this)">TC</td>
    <td onclick="runM(this)">TR</td>
  </tr>  
</table>
<script>
     function runM(txt){
	 console.log(txt.cellIndex);
     }
</script>
</body>
</html>

 , ,

saufesma
()

Кто-нибудь перекладывал данные опытов в log log шкалу?

Вопрос был риторический. Никто такими делами не занимался.

 , ,

saufesma
()

LISP — a Language for Internet Scripting and Programming

Занимался кто-нибудь этим https://www.researchgate.net/publication/2429147_LISP_--_a_Language_for_Inter... Какие результаты? Если есть.

 ,

saufesma
()

404 Not Found

Как-то заметил, что такая ошибка

GET http://localhost:3000/favicon.ico [HTTP/1.1 404 Not Found 0ms]
выскакивает при неправильно написанном коде, но не помню, что я делал с кодом. Может кто сталкивался, подскажет.

 , , ,

saufesma
()

Как разбить большой index.html, а потом всё загрузить чтобы сервер node.js заработал?

Не могу понять как такое простое действие делать.

 , ,

saufesma
()

Static file server не работает.

В лбой папке создаём package.json

{
"name": "static-file-fun",
"private": true,
"scripts": {
"start": "node app.js"
}
}
в этой же папке создаём app.js и npm install express --save. В той же папке создаём папку static в которую поместим любой файл который будет обслуживать данный сервер.

var express = require("express");
var morgan = require("morgan");
var path = require("path");
var fs = require("fs");

var app = express();

app.use(morgan("short"));

app.use(function(req, res, next) {
    console.log("Request IP: " + req.url);
    console.log("Request date: " + new Date());
    next();
});

app.use(function(req, res, next) {
    var filePath = path.join(__dirname, "static");
    
//Тут https://expressjs.com/en/4x/api.html поисковик на fs.stat  ничего не выдаёт. Не знаю как определить err, fileInfo

    fs.stat(filePath, function(err, fileInfo) {
	if (err) {
	    //next();
	    return;
	}

	if (fileInfo.isFile()) {
	    res.sendFile(filePath);
	} else {
	    next();
	}
    });
});

app.use(function(req, res) {
    res.status(404);
    res.send("File not found!");
});

app.listen(3000, function() {
    console.log("App started on port 3000");
});

Вот ещё загадка.

console.log(fs) => {....stat: [Function: stat],...}

 ,

saufesma
()

Выпадающие меню.

Как переписать так чтобы в выпадающем меню выбрать температуру, а затем в другом выпадающем меню выбрать толщину пластины относящейся к выбранной температуре.

<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <title>Расчёт параметров.</title>
  </head>

  <body>
    <h1>Расчёт параметров.</h1>
    <p align="center">
      <label for="temp200">Температура нагрева 200°C.</label>
      <select name="temp200" id="temp200">
	<option value="">Толщина пластины:</option>
	<option value="05">0,5 см</option>
	<option value="06">0,6 см</option>
	<option value="08">0,8 см</option>
      </select>
      <label for="temp300">Температура нагрева 300°C.</label>
      <select name="temp300" id="temp300">
	<option value="">Толщина пластины:</option>
	<option value="15">1,5 см</option>
	<option value="20">2,0 см</option>
	<option value="28">2,8 см</option>
      </select>
    </p>
    <script>
      const plate05 = [
	  { w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
	  { w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
	  { w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
	  { w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
	  { w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
	  { w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
      ];
      const plate06 = [
	  { w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
	  { w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
	  { w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
	  { w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
	  { w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
	  { w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
      ];
      const plate08 = [
	  { w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
	  { w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
	  { w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
	  { w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
	  { w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
	  { w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
      ];
      const plate15 = [
	  { w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
	  { w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
	  { w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
	  { w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
	  { w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
	  { w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
      ];
      const plate20 = [
	  { w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
	  { w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
	  { w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
	  { w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
	  { w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
	  { w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
      ];
      const plate28 = [
	  { w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
	  { w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
	  { w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
	  { w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
	  { w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
	  { w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
      ];
      const arrTemp200 = [
	  { x: "05", y: plate05 },
	  { x: "06", y: plate06 },
	  { x: "08", y: plate08 }
      ];

      const arrTemp300 = [
	  { x: "15", y: plate15 },
	  { x: "20", y: plate20 },
	  { x: "28", y: plate28 }
      ];
      const allTemp = [
	  arrTemp200, arrTemp300
      ];
      function findAndReturn(array, value) {
	  for (let obj of array) {
	      if (value === obj.x) {
		  console.log(obj.y);
		  // console.log(obj.w0L);
		  // console.log(obj.w0H);
		  // document.getElementById("w00").value = value;
		  // document.getElementById("w0L").value = obj.w0L;
		  // document.getElementById("w0H").value = obj.w0H;
	      }
	  }
      };
      const selectTemp200 = document.querySelector("#temp200");
      selectTemp200.addEventListener("change", () => {
	  const value1 = (selectTemp200.value);
	  // console.log(value1)
	  findAndReturn(arrTemp200, value1);
      });
      const selectTemp300 = document.querySelector("#temp300");
      selectTemp300.addEventListener("change", () => {
	  const value1 = (selectTemp300.value);
	  // console.log(value1)
	  findAndReturn(arrTemp300, value1);
      });
    </script>
  </body>
</html>

 , , ,

saufesma
()

Допишите код, пожалуйста

Если у кого есть опыт написания серверной стороны на expressjs сделайте так чтобы код внизу заработал. Уже задолбался читать про expressjs, не хватает примера

node myapp.js
Этот код находится на кленте. Ввожу цифры, нажимаю кнопку, цифры уходят на сервер там обрабатываются
<!DOCTYPE html>
<html>
<body>

  <input type="number" id="myNumber0">
  <input type="number" id="myNumber1">
  <input type="number" id="myNumber2">

<button onclick="calc()">Try it</button>

</body>
</html>

и вот сeрвер возвращает

<!DOCTYPE html>
<html>
<body>

  <input type="string" id="myNumber3">
  <input type="string" id="myNumber4">
  <input type="string" id="myNumber5">
function calc() {
            const V0 = parseFloat(document.getElementById("myNumber0").value);
  const V1 = parseFloat(document.getElementById("myNumber1").value);
  const V2 = parseFloat(document.getElementById("myNumber2").value);
    for (let i of [V0,V1,V2]){
      if (isNaN(i)) {
       alert(`Oops, it is ${i}`);
      } else {
   document.getElementById("myNumber3").value = V0 + V1;
  document.getElementById("myNumber4").value = V1 + V2;
  document.getElementById("myNumber5").value = V2 + V0;
      }
    }
  };

</body>
</html>

 , ,

saufesma
()

Серверный код можно писать на любой платформе.

Что значит «Серверный код можно писать на любой платформе. » вот тут https://learn.javascript.ru/websockets

 , ,

saufesma
()

Как закрыть доступ пользователя сайта к src js файлам как для просмотра так и для скачивания?

Тут вот нашёл https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/aspnet/www-a.... Может у кого ещё есть идеи, опыт в таком деле.

 , , ,

saufesma
()

Нужно оборудовать место для работы на javascript c DOM в формате html

В консоль вставлять скопированный код нельзя, ругается и настройки менять тоже нельзя. Думаю подключить emacs. Но не знаю есть ли на нём такая возможность. что при написании кода вываливаются менюшки как в консоли браузера или как в VScode.

 , , ,

saufesma
()

Игнорирование участников

Товарищи модераторы,

Можно сделать так чтобы комментарии игнорируемых участников не отражались бы в уведомлениях, а также чтобы в треде не было бы кнопки показать все комментарии?

 

saufesma
()

Надо получить кривую по пяти точкам в данной системе координат

x     y
10    0.2
4     1
3     2
2     3
1     10
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatable" content="ie=edge">
    <title>Document</title>
  </head>
  <div id="container"></div>
  <body>
    <script type="module">

import * as d3 from "https://cdn.jsdelivr.net/npm/d3@7/+esm";

// Declare the chart dimensions and margins.
const width = 640;
const height = 400;
const marginTop = 20;
const marginRight = 20;
const marginBottom = 30;
const marginLeft = 40;

// Declare the x (horizontal position) scale.
      const x = d3.scaleLog()
	    .domain([0.2, 60])
    .range([marginLeft, width - marginRight]);

// Declare the y (vertical position) scale.
const y = d3.scaleLog()
    .domain([0.1, 100])
    .range([height - marginBottom, marginTop]);

// Create the SVG container.
const svg = d3.create("svg")
    .attr("width", width)
    .attr("height", height);

// Add the x-axis.
svg.append("g")
    .attr("transform", `translate(0,${height - marginBottom})`)
    .call(d3.axisBottom(x));

// Add the y-axis.
svg.append("g")
    .attr("transform", `translate(${marginLeft},0)`)
    .call(d3.axisLeft(y));

// Append the SVG element.
container.append(svg.node());

</script>
</body>
</html>

 , , ,

saufesma
()

Как найти уравнение кривой начерченной на логарифмической бумаге

 , ,

saufesma
()

WebAssembly или ...

Нужно в аппликашку вставить gnuplot. Нашёл WebAssembly, а вот альтернативы не нашёл. Или всё равно придётся гонять по отдельности своё изобретение и gnuplot.

 ,

saufesma
()

Почему так много версий jdk?

Я так понимаю, что код написанный на одной версии не будет работать на другой.

openjdk-11-jdk-headless  # version 11.0.20.1+1-0ubuntu1~22.04, or
default-jdk              # version 2:1.11-72build2
openjdk-17-jdk-headless  # version 17.0.8.1+1~us1-0ubuntu1~22.04
openjdk-18-jdk-headless  # version 18.0.2+9-2~22.04
openjdk-19-jdk-headless  # version 19.0.2+7-0ubuntu3~22.04
openjdk-8-jdk-headless   # version 8u382-ga-1~22.04.1
ecj                      # version 3.16.0-1

 ,

saufesma
()

Бесселева функция

Есть ли библиотеки на Common Lisp c функциями Бесселя?

 , ,

saufesma
()

Написать уравнение по заданной кривой

Существует номограмма в координатах, мне надо написать уравнение этой кривой. Кто-нибудь решал такие задачи?

 

saufesma
()

RSS подписка на новые темы