小编Ser*_*gio的帖子

Javascript async function console log the returned data

How can I console log - or do any thing with the data returned from inside an async function?

example: JS FILE:

   async function getData(){
      try {
         $.getJSON('./data.json', (data) => {
            return data;
         });
      } catch(error) {
         console.log("error" + error);
      } finally {
         console.log('done');
      }
   }

   console.log(getData());
Run Code Online (Sandbox Code Playgroud)

JSON FILE:

{
   "stuff": {
      "First": {
         "FirstA": {
            "year": [2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017],
            "Categories": ["Suspension", "Electrical", "Performance", "Motor"]
         },
         "FirstB": {
            "year": [2007, 2008, 2009, …
Run Code Online (Sandbox Code Playgroud)

javascript json asynchronous return function

7
推荐指数
1
解决办法
3万
查看次数

Vanilla Javascript 切换下拉菜单

我的大脑已经检查了周末......

我正在寻找一种纯 Javascript 解决方案,如果在单击另一个主菜单项时打开一个下拉菜单框,则先前打开的下拉列表将关闭,然后显示新单击的主菜单项的下拉列表。我知道这可能很简单,但我想不出一个不复杂的解决方案。

此外,如果您单击菜单项外部(文档中非菜单项或下拉框的任何位置)应关闭所有打开的下拉列表。

感谢您的任何帮助。

function testFunc(el) {
  var parent = el.parentElement;
  var dd = parent.lastChild.previousSibling;
  dd.classList.toggle('show');
}
Run Code Online (Sandbox Code Playgroud)
ul { list-style: none; margin: 0; padding: 0; }
ul li {
  width: 100px;
  float: left;
  background: #dbdbdb;
  line-height: 2em;
  text-align: center;
  margin: 0 5px;
  cursor: pointer;
}
ul li span {
  display: block;
}
ul li ul {
  display: none;
}

.show {
  display: block;
}
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>
    <span onclick="testFunc(this)">Item 1</span>
    <ul>
      <li>Sub Item 1</li>
      <li>Sub Item 2</li>
    </ul>
  </li> …
Run Code Online (Sandbox Code Playgroud)

javascript navigation toggle

3
推荐指数
1
解决办法
4368
查看次数

VueJS显示和隐藏消息

我创建了一个基本的CLI结构环境。我有一个显示消息/警报的组件,例如:登录失败等…

由于此组件将在整个应用程序中重复使用,因此我想将其导入到根App.vue文件并在那里进行处理。它正在工作…之类的。

它可以很好地显示消息/警报,但是我希望它在设置的秒数后隐藏/消失/蒸发。或者,单击按钮,它会隐藏/消失/蒸发-我在下面的“警报组件”示例中显示了此按钮。经过一段预定义的时间后,我根本无法获得隐藏,并且单击和隐藏有效,但是取消隐藏也会产生问题。我在App.vue文件中使用setTimeout方法在5秒钟后自动隐藏,并且什么也不会发生,我认为该方法在导入Alert模块之前就已触发……我认为。

到目前为止,这是我的代码…似乎是一个简单的任务,但在过去的几个小时中,它一直困扰着我:

应用组件:

<template>
   <div id="app">
         <alert v-if="alert" v-bind:message="alert"></alert>
         <router-view></router-view>
   </div>
</template>

<script>
   import Alert from './components/frontend/alert'
   export default {
      name: 'App',
      data() {
         return {
            alert: ''
         }
      },
      updated: function() {
         if(this.$route.query.alert){
            this.alert = this.$route.query.alert;
            // This was for me to test the click even - PREFER AUTO HIDE AFTER A FEW SECONDS
           // This returns an error on form submit - see error below
            document.querySelector('.alert').style.display = 'block';
         }
      },
      components: {
         'alert': Alert
      }
   } …
Run Code Online (Sandbox Code Playgroud)

javascript settimeout vue.js

2
推荐指数
1
解决办法
6906
查看次数

我在jQuery .each()函数中缺少什么?

我有这个功能,我试图弄清楚/修复,似乎无法找出问题/无法找到一种方法让它工作.

基本上我的CMS正在吐出我想要的某些href:

第1部分)更改目标href URL

第2部分)更改按钮的文本

现在我只有2个这种类型的按钮实例,所以这是在我的控制台中打印的内容:

第1部分)对于这部分,我得到了正确的网址,没有我要删除的字符.

第2部分)按钮文本的两个实例(参见全部),然后是第一个按钮的btnParent的正确变量,然后是第二个按钮,最后是"Products"的一个实例.

我的问题是,我无法弄清楚如何:

第1部分)将剥离的URL作为每个函数发送回其各自按钮的href.

第2部分)让each()函数为每个实例打印出新文本"See All + BLAH + Products",然后将新文本附加到相应的按钮.

这是代码:

function viewMoreBtn() {
	var btnMain = $("li:contains('See All')");
	var btnText = $("li:contains('See All')").text();
	var btnParent = $("li:contains('See All')").parent('ul').prev('li').text();

// PART 1 - STRIP LINK URL OF -_-// CHARACTERS
	$.each(btnMain, function(i, v) {
		v = $(this).find('a').attr('href').replace('-_-//', '');
		console.log(v);
	});

// PART 2 - ADD LABEL TO HTML TEXT OF BTN
	$.each(btnMain, function(index, value) {
		value = (btnText + …
Run Code Online (Sandbox Code Playgroud)

javascript each jquery

1
推荐指数
1
解决办法
568
查看次数