javascript 相关问题

JavaScript(不要与Java混淆)是一种高级,动态,多范式,面向对象,基于原型的弱类型语言,用于客户端和服务器端脚本。它的主要用途是渲染和操作网页。使用此标记可以了解有关ECMAScript及其各种方言/实现的问题(不包括ActionScript和Google-Apps-Script)。

离开后视频停止自动播放 - Barbajs

我使用 barba.js 进行页面转换。我的公司页面上有视频元素,设置为自动播放、循环播放和静音。当我最初加载公司页面时效果很好。然而,当我...

回答 1 投票 0

任务创建/更新后页面不刷新

我正在使用 Drizzle ORM 开发 Next.js 项目,我可以在其中创建和更新任务。提交任务表单后,我导航回主页,但未显示新的/更新的任务...

回答 1 投票 0

Next.js 与 Drizzle ORM:任务创建/更新后页面不刷新

我正在使用 Drizzle ORM 开发 Next.js 项目,我可以在其中创建和更新任务。提交任务表单后,我导航回主页,但未显示新的/更新的任务...

回答 1 投票 0

行程改变时如何清除折线?

我正在加载一个已加载地图和路线的页面。 我们可以通过此表格更改出发地、目的地和运输方式: ... 我正在加载一个已加载地图和路线的页面。 我们可以通过此表格更改出发地、目的地和运输方式: <div id="formulaire" class="box"> <input id="start" type="text" value="$4DTEXT($vo_personne.origine)" class="input my-1"> <input id="end" type="text" value="$4DTEXT($vo_personne.destination)" class="input my-1"> <div class="select my-1"> <select id="mode_transport"> <option value="DRIVING">Voiture</option> <option value="TRANSIT">Transports</option> </select> </div> <input type="submit" value="Actualiser le trajet" class="button my-1"> </div> 当我更改表单中的某些内容时,地图会发生变化,路线也会发生变化,但我没有找到清除上一张地图上的旧路线(折线)的方法。 这是我的JS代码 <script> // onglets jquery UI $( function() { $( "#tabs" ).tabs(); } ); // Google Maps function initMap() { directionsRenderer = new google.maps.DirectionsRenderer({ polylineOptions : { // works only on the active path strokeColor: '#0047b3', strokeOpacity: 1.0, strokeWeight: 7 } }); directionsService = new google.maps.DirectionsService(); map = new google.maps.Map(document.getElementById("carte"), { zoom: 5, center: { lat : 46.603354, lng: 1.888334}, // france }); directionsRenderer.setMap(map); calculateAndDisplayRoute(directionsService, directionsRenderer); document.getElementById("mode_transport").addEventListener("change", () => { calculateAndDisplayRoute(directionsService, directionsRenderer); }); document.getElementById("start").addEventListener("change", () => { calculateAndDisplayRoute(directionsService, directionsRenderer); }); document.getElementById("end").addEventListener("change", () => { calculateAndDisplayRoute(directionsService, directionsRenderer); }); } function calculateAndDisplayRoute(directionsService, directionsRenderer) { start = document.getElementById("start").value; end = document.getElementById("end").value; selectedMode = document.getElementById("mode_transport").value; directionsRenderer.setMap(map); directionsRenderer.setPanel(document.getElementById("itineraire")); directionsRequest = { origin: start, destination: end, travelMode: google.maps.TravelMode[selectedMode], provideRouteAlternatives: true, optimizeWaypoints: true, }; directionsService .route(directionsRequest) .then((response) => { directionsRenderer.setDirections(response); // console.log (response); // console.log (response.routes.length + ' routes'); // status = (response.status); if (status === 'OK') { // les routes trouvées for (var i = 0, len = response.routes.length; i < len; i++) { new google.maps.DirectionsRenderer({ map: map, directions: response, routeIndex: i }); // route sélectionnée par défaut ? // lui attribuer un ID ? var polyline = response.routes[i] ; } console.log (polyline); } }) .catch((e) => window.alert("Directions request failed due to " + e)); } // création de la carte à l'ouverture de la page window.initMap = initMap; </script> 我是初学者,这是我的第一张地图,所以我没有找到更新折线的解决方案。 新的很好,但最旧的应该删除或隐藏。 我尝试通过添加 polyline.remove() 来更改事件侦听器,但它会产生此错误: 未捕获(承诺中)ReferenceError:polyLinePath 未定义 document.getElementById("mode_transport").addEventListener("change", () => { polyline.remove(); calculateAndDisplayRoute(directionsService, directionsRenderer); }); document.getElementById("start").addEventListener("change", () => { polyline.remove(); calculateAndDisplayRoute(directionsService, directionsRenderer); }); document.getElementById("end").addEventListener("change", () => { polyline.remove(); calculateAndDisplayRoute(directionsService, directionsRenderer); }); 感谢您的帮助 您需要保留对用于显示路线的 DirectionRenderer 对象的引用。 全球范围内: let renderer = []; 然后,当您创建渲染器时,将它们推送到该数组上: for (var i = 0, len = response.routes.length; i < len; i++) { renderer.push(new google.maps.DirectionsRenderer({ map: map, directions: response, routeIndex: i })); } 然后要从地图中删除路线,请将这些渲染器上的地图设置为 null: function removeOldRoutes() { for (var i=0; i < renderer.length; i++) { renderer[i].setMap(null); } renderer = []; } 概念证明小提琴 代码片段 let map; let renderer = []; // Google Maps function initMap() { directionsRenderer = new google.maps.DirectionsRenderer({ polylineOptions : { // works only on the active path strokeColor: '#0047b3', strokeOpacity: 1.0, strokeWeight: 7 } }); directionsService = new google.maps.DirectionsService(); map = new google.maps.Map(document.getElementById("carte"), { zoom: 5, center: { lat : 46.603354, lng: 1.888334}, // france }); directionsRenderer.setMap(map); calculateAndDisplayRoute(directionsService, directionsRenderer); document.getElementById("mode_transport").addEventListener("change", () => { removeOldRoutes() calculateAndDisplayRoute(directionsService, directionsRenderer); }); document.getElementById("start").addEventListener("change", () => { removeOldRoutes() calculateAndDisplayRoute(directionsService, directionsRenderer); }); document.getElementById("end").addEventListener("change", () => { removeOldRoutes() calculateAndDisplayRoute(directionsService, directionsRenderer); }); } function removeOldRoutes() { for (var i=0; i < renderer.length; i++) { renderer[i].setMap(null); } renderer = []; } function calculateAndDisplayRoute(directionsService, directionsRenderer) { start = document.getElementById("start").value; end = document.getElementById("end").value; selectedMode = document.getElementById("mode_transport").value; directionsRenderer.setMap(map); directionsRenderer.setPanel(document.getElementById("itineraire")); directionsRequest = { origin: start, destination: end, travelMode: google.maps.TravelMode[selectedMode], provideRouteAlternatives: true, optimizeWaypoints: true, }; directionsService .route(directionsRequest) .then((response) => { directionsRenderer.setDirections(response); console.log (response); console.log (response.routes.length + ' routes'); status = (response.status); if (status === 'OK') { // les routes trouvées for (var i = 0, len = response.routes.length; i < len; i++) { console.log("rendering route "+i); renderer.push(new google.maps.DirectionsRenderer({ map: map, directions: response, routeIndex: i })); } } }) .catch((e) => window.alert("Directions request failed due to " + e)); } // création de la carte à l'ouverture de la page window.initMap = initMap; /* * Always set the map height explicitly to define the size of the div element * that contains the map. */ #carte { height: 80%; } /* * Optional: Makes the sample page fill the window. */ html, body { height: 100%; margin: 0; padding: 0; } <!doctype html> <html> <head> <title>StackSnippet</title> </head> <body> <div id="carte"></div> <div id="formulaire" class="box"> <input id="start" type="text" value="Paris" class="input my-1"> <input id="end" type="text" value="Marseille" class="input my-1"> <div class="select my-1"> <select id="mode_transport"> <option value="DRIVING">Voiture</option> <option value="TRANSIT">Transports</option> </select> </div> <input type="submit" value="Actualiser le trajet" class="button my-1"> </div> <!-- The `defer` attribute causes the script to execute after the full HTML document has been parsed. For non-blocking uses, avoiding race conditions, and consistent behavior across browsers, consider loading using Promises. See https://developers.google.com/maps/documentation/javascript/load-maps-js-api for more information. --> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk&callback=initMap&v=weekly" defer ></script> </body> </html>

回答 1 投票 0

为什么回调函数显示“未定义”结果?

我一直在Postman中学习javascript测试脚本。在这里我只是学习回调函数,我想检查返回值是否显示在打印语句的最后一行,但是重新...

回答 1 投票 0

如何在 Cypress 中检查滚动到按钮?

我有一系列菜单项,可以滚动到页面上的不同元素。 我想循环遍历每个项目并确保它滚动到页面上的正确元素。为此,我想...

回答 1 投票 0

如何使用Bootstrap让eCharts工具提示在页面中完全可见

我试图为一些 eCharts 图表实现 Bootstrap 5.x 设计。 但工具提示超出了页面范围,只有部分内容可见。 代码太长,无法放入 stackoverflow 片段中...

回答 1 投票 0

包含单位数月份和日期的 mm/dd/yy 格式的正则表达式是什么? [已关闭]

我正在尝试找出正确的正则表达式来断言以下格式的日期:mm/dd/yy。日期可以显示单位数和两位数的月份和日期。

回答 1 投票 0

错误[ERR_STREAM_WRITE_AFTER_END]:结束后写入(NodeJS)

我正在尝试使用nodejs创建一个api端点。当我使用邮递员到达路线时出现错误。第一次运行代码,然后服务器崩溃了。 我的代码是: const http = require('http'); c...

回答 1 投票 0

如何在react-multi-carousel中添加轮播项目之间的间距

我正在使用react-multi-carousel创建一个轮播。我想在每个项目之间添加间距。目前,如果我向 itemClass 添加填充,它会破坏轮播的功能(箭头

回答 2 投票 0

Chart JS 极地区域曲线标签

我正在开发一个 Web 项目,使用 Chart.js 创建一个 PolarArea 图表,该图表根据下拉菜单中选定的类动态更新。我遇到了标签为

回答 1 投票 0

AdminJS 不会使用自定义 React 组件覆盖默认仪表板

所以,我刚刚开始使用 adminjs,并一直尝试用我自己的自定义组件覆盖默认仪表板。我阅读了文档,我不认为我做错了什么?但它仍然

回答 1 投票 0

React 无法识别 DOM 元素上的 `initialValue` 属性

警告:React 无法识别 DOM 元素上的 `initialValue` 属性。如果您有意希望它作为自定义属性出现在 DOM 中,请将其拼写为小写的“initialvalue”。如果...

回答 3 投票 0

Javascript 映射,键中有两个值

我的页面上有 3 个下拉菜单,第三个下拉菜单中的选项取决于前两个下拉菜单中的选择。 所以我想知道是否有一种方法可以用 2-

回答 8 投票 0

我的 Ajax 与 XMLHttpRequest 调用有何不同,可以让我的服务器理解 Ajax 但不能理解 XMLHttpRequest?

我有一个非常简单的服务器调用,如下所示: [http邮报] [允许匿名] 公共 JsonResult 测试(TestRequestModel requestModel) { //做事 返回 Json(new { 结果. 成功 }); } 我的

回答 1 投票 0

更改/获取CheckBox的选中状态

我只想用 JavaScript 获取/更改 CheckBox 的值。并不是说我不能为此使用 jQuery。我已经尝试过类似的方法,但它不起作用。 JavaScript 函数 功能检查地址...

回答 11 投票 0

如何在 jest 中模拟动态导入模块的依赖关系

模块-a.js 数学课{ 圆周率(){ 返回 3.14; } } 导出默认数学 模块b.js 从'./module-a'导入数学; const piVal = Math.pi(); 导出 const doSomeCalc = (a) => { 返回 p...

回答 1 投票 0

图像不会在容器内展开,只有一部分可见

我想在一个容器中显示多个图像,并放置左右滑动器以在图像之间进行切换。 但只有图像的左上角是可见的,它并没有扩散到e...

回答 1 投票 0

请求无法到达我的 Django 视图

这是一个 Web Django 项目,在我的导航栏中,我有一个下拉列表,其中包含根据类别探索产品的按钮,这是主项目中下拉列表片段的代码...

回答 1 投票 0

在 webgl 中调试 GLSL 代码

与 webgl 一起使用时是否可以调试 GLSL 代码或打印 glsl 代码中的变量值? Three.js 或 scene.js 是否包含此类功能?

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.