小编AGE*_*AGE的帖子

如何在Javascript中使用Date作为史前日期?

我正在开发一个JavaScript日期不够大的项目.

我想在同一时间轴上放置多个事件,其中一些有月和日,有些没有,所以只使用年份不是一个选项.我希望能够让登月和大爆炸在同一轴上.

如果我可以使用现有Date对象具有的功能,那将会有很大帮助.它只能追溯到27万年前,我需要一路回到大爆炸(13800,000,000年前).我不需要日期包含秒或毫秒.

如何扩展Date对象以包含此类日期的表示?

我试图为此找到库或本机函数,但没有运气.我也开始寻找我可以修改的Date对象的JavaScript实现,但我也没有运气.

更新:

我从remdevtec解决方案开始,但最终修改了很多.我希望日期以数字顺序排列,以便更轻松地对日期进行排序和排序.

所以我所做的是,如果年份在-100,000之前,我将毫秒值视为小时.这是我到目前为止所做的,它适用于我们的项目,但如果我有更多的时间,我会清理它并把它放在github上.

的jsfiddle

function BigDate(date){
    if(!date){
        this.original = new Date(); 
    }else if(date instanceof BigDate){
        this.original = date.original;
    }else{
        this.original = new Date(date);  
    }
    this.yearBreakpoint = -100000;
    this.breakPoint = Date.UTC(this.yearBreakpoint,0,0).valueOf();
    this.factor = 360000;//needed for our project to make extra space on our axis
}

BigDate.UTC = function (year, month, day, hour, minute, second, millisecond) {
    var temp = new BigDate();
    if(year < -temp.yearBreakpoint){
        temp.setUTCFullYear(year);
        return temp;
    }else{
        temp.original = Date.UTC(year,month,day,hour,minute,second,millisecond);
    }
    return temp.valueOf();
};

BigDate.now …
Run Code Online (Sandbox Code Playgroud)

javascript date

75
推荐指数
4
解决办法
5103
查看次数

如何使用JQuery/Javascript检查选择框是否为空

使用JQuery Mobile我有一个从数据库动态填充的选择框.截至目前,此复选框的人口正在完美运行.我添加了一个功能,其中包含一个通过"点击"事件调用功能的按钮.此功能的作用是知道是否已填充此特定复选框; 如果它没有那么它根本不会做任何事情,但否则它会顺利运行.我的问题是确定这个选择框是否为空.

这是我正在处理的一个非常简单的例子:

<li>
    <label for="fruit_name">Fruit</label>
    <select name="some_fruit" id="fruit_name" onclick="populate_box('fruit', this);">
    </select>
</li>
Run Code Online (Sandbox Code Playgroud)

我的函数,从一个单独的按钮调用,如下所示:

function isSelextBoxEmpty(selectBoxId) {
    var selected_value = $('#fruit_name');

    /* More options... still testing the proper way:
    var selected_value = $('#fruit_name').text;
    var selected_value = $('#fruit_name').value;
    var selected_value = $('#fruit_name').length;
    var selected_value = $('#fruit_name option:selected', this);
    var selected_value = document.getElementById('fruit_name');
    var selected_value = document.getElementById('fruit_name').length;
    var selected_value = document.getElementById('fruit_name').value;
    var selected_value = document.getElementById('fruit_name').innerHTML;
    */

    if(selected_value) {
        alert("NOT null, value: " + selected_value);
        //do something
    }
    else {
        alert("null, value: …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery jquery-mobile jquery-selectbox

29
推荐指数
2
解决办法
11万
查看次数

Cookie失效日期

我不是程序员.我正在尝试使用cookie脚本来记住最后一个下拉菜单选项.

我找到了一个有效的脚本,但它只有一个会话cookie.如何在此脚本中向cookie添加过期日期?

<head>
  <script>        
    function SETcookie() {
      document.cookie = "Selected=" + document.getElementById('myList').selectedIndex;
    }

    function GETcookie() {
      if (document.cookie) {
        eval(document.cookie);
        document.getElementById('myList').selectedIndex = Selected;
      }
    }    
  </script>
</head>

<body onLoad="GETcookie()">
  <select id="myList" onChange="SETcookie()">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
  </select>
</body>
Run Code Online (Sandbox Code Playgroud)

javascript cookies

15
推荐指数
4
解决办法
5万
查看次数

什么是可装饰元素?

我一直在阅读可访问性和概念,我无法找到关于偶然发现的准确信息:HTML可标记元素.

我理解,labelable元素背后的概念是一个可以正确包装或引用的元素<label>,例如:

<label>
    Enter some data
    <input type="text"/>
</label>
Run Code Online (Sandbox Code Playgroud)

或者例如:

<label for="anInputField">
    Enter some data
</label>

<input type="text" id="anInputField"/>
Run Code Online (Sandbox Code Playgroud)

有没有人确切知道什么是可绑定的HTML元素,哪些不是?

奖金回合! 你能详细说明为什么ARIA使用的第五条规则是一项正在进行的工作吗?在我自己的网站,我希望能够考虑对将来的变化,但我不知道为什么它不是一成不变的(好像它应该是).

html css html5 accessibility wai-aria

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

如何获取表单的onSubmit事件?

我想知道如何onsubmit从表单中获取事件以进行某些表单验证,因为我无法直接访问它.(我正在编写一个用于评论的Wordpress插件,因此无法直接访问表单标签或提交按钮.)

我为我的插件尝试做这件事感到非常沮丧,我在下面写了一个Hello World版本.我希望它在我加载页面时显示"Hello World"警报,并在我单击"提交"按钮时显示"表单已提交"警报.相反,它会在页面加载时显示两个弹出窗口.

这是我的代码:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>Hello World</title>
    </head>
    <body>
    <h2>Test</h2>
    <form action="#" method="post" id="commentform">

    <p><input type="text" name="author" id="author" size="22" tabindex="1" />
    <label for="author"><small>Name (required)</small></label></p>

    <p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />

    </form>

    <script type="text/JavaScript">
    <!--
    alert("Hello world");

    var formCheck = document.getElementById("commentform");

    formCheck.onSubmit = doMapping(); 

    function doMapping() {
        alert("form submitted");
        return false;
    }

    -->
    </script>     

    </body>
    </html> 
Run Code Online (Sandbox Code Playgroud)

html javascript forms

8
推荐指数
2
解决办法
2万
查看次数

如何正确使用 ref 与 React 类组件和样式组件?

我正在尝试构建一个下拉菜单。基本结构Test是我需要使用 Reactrefstyled-components.

我已经检查了 SO 中的相关文章,但它们使用了我的类组件不支持的钩子。

这是代码:

import React from "react";
import PropTypes from "prop-types";
import styled, { ThemeProvider } from "styled-components";

import { theme } from "../theme";

import Icon from "../Icon";

const Container = styled.div`
  display: flex;
`};

const SelectorDiv = styled.div`
  background-color: black;
  color: white;
  height: 100px;
`;

class Test extends React.Component {
  componentDidMount () {
    document.addEventListener("mousedown", this.handleClickOutside);
  }

  componentWillUnmount () {
    document.removeEventListener("mousedown", this.handleClickOutside);
  }

  handleClickOutside = event => {
    console.log(this.refs); // undefined …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs styled-components

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

确定焦点何时发生在元素外部

我想看看以下是否可行:

  • 确定是否发生焦点的元素外,无需使用文档级别全球选择如$(document),$(body),$(window)等由于性能的原因.
  • 如果没有全球选择者就无法实现,请以可证明的理由解释自己.重要的是,我理解为什么这对于今天的最新技术是不可行的.
  • 奖金回合:确定任务的最有效(计算时间)选择器/事件处理程序/插件.

我的实现包含一个非常简单的HTML导航栏,如下面的代码段所示.我在每个<a>标签之间进行原生键盘导航.第一个列表元素是标题,包含可见的锚点,第二个元素

<ul class="test">
  <li>
    <a href="#">Title</a>
  </li>
  <li>
    <ul>
      <li>
        <a href="#">Some link</a>
      </li>
      <li>
        <a href="#">Some link</a>
      </li>
      <li>
        <a href="#">Some link</a>
      </li>
      <li>
        <a href="#">Some link</a>
      </li>
    </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

这个导航栏的目标很简单:

  1. 原生键盘选项卡或shift + tab从锚点到锚点.
  2. 聚焦内部锚元素时显示下拉菜单.
  3. 不关注任何内部锚元素时隐藏下拉菜单.

我有1和2,但由于上面列出的要求,3是棘手的.我知道这可以很容易地使用全局选择器来完成,但是这个挑战是要弄清楚并理解是否可以这样做.

$(document).ready(function() {
    dropdownMenu = $(".test > ul");
    dropdownMenu.hide();

    $(".test").focusin(function() {
        if (dropdownMenu.is(":hidden")) {
          dropdownMenu.show();
        }
    });
    // Some selector for some event here to handle the focus/clicks …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

分页:未捕获TypeError:无法将属性'className'设置为null

我正在尝试分页来显示数据.存在的记录总数是19,我想最初显示3条记录.

这是我的分页代码:

// Instantiate pagination after data is available    
pager = new Pager('results', 3);
pager.init();
pager.showPageNav('pager', 'pageNavPosition');
pager.showPage(1);

// pagination object codes.
function Pager(tableName, itemsPerPage) {
    this.tableName = tableName;
    this.itemsPerPage = itemsPerPage;
    this.currentPage = 1;
    this.pages = 0;
    this.inited = false;

    this.showRecords = function (from, to) {
        var rows = total_records;
        // i starts from 1 to skip table header row
        for (var i = 1; i < rows.length; i++) {
            if (i < from || i > to) rows[i].style.display …
Run Code Online (Sandbox Code Playgroud)

jquery

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

Javascript - 提升的优先级

在提升中,变量优先于函数定义还是反之亦然?请看下面的代码:

function a()
{
    var x = 10;

    function x() {
        return 20;
    }

    return x;
}
Run Code Online (Sandbox Code Playgroud)

javascript function hoisting

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

C#如果item不在数组中

我有一个包含这3个项目的数组:

string[] departmentArray = {
    "Warranty Service Representative",
    "Warranty Service Administrative Manager",
    "Warranty and Site Administrator"
};
Run Code Online (Sandbox Code Playgroud)

我有这个字符串

var department = "Warranty Service Representative"
Run Code Online (Sandbox Code Playgroud)

我有这个条件,假设测试字符串部门是否不在 departmentArray

if (Array.Exists(departmentArray, element => element != department)){
}
Run Code Online (Sandbox Code Playgroud)

显然字符串在数组中,因此它应该返回false,但是对于我的字符串,这返回true.我究竟做错了什么?

c# arrays

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