小编Bat*_*man的帖子

仅使用Javascript捕获ESC键

我有自己的控件自定义视频播放.我有一个脚本可以在用户输入并存在全屏时对控件进行更改.问题是当我使用ESC键而不是按钮退出全屏时,控件的样式更改不会被还原.我需要确保使用ESC或按钮退出全屏将导致相同的行为.

CSS:

function toggleFullScreen() {

  elem = document.getElementById("video_container");
  var db = document.getElementById("defaultBar"); 
  var ctrl = document.getElementById("controls");

  if (!document.fullscreenElement &&    // alternative standard method
      !document.mozFullScreenElement && !document.webkitFullscreenElement) {  // current working methods
    if (document.documentElement.requestFullscreen) {

          ctrl.style.width = '50%';
          ctrl.style.left = '25%';
          full.firstChild.src = ('images/icons/unfull.png');
          elem.requestFullscreen();          
        } else if (document.documentElement.mozRequestFullScreen) {
          full.firstChild.src = 'images/icons/unfull.png';
          ctrl.style.width = '50%';
          ctrl.style.left = '25%';
          elem.mozRequestFullScreen();
        } else if (document.documentElement.webkitRequestFullscreen) {

          ctrl.style.width = '50%';
          ctrl.style.left = '25%';
          full.firstChild.src = 'images/icons/unfull.png';
          elem.webkitRequestFullscreen();

        }
  } else if (document.exitFullscreen) { …
Run Code Online (Sandbox Code Playgroud)

html javascript html5 html5-video

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

承诺没有按顺序运行

我的控制器中有一个功能,可以将用户添加到组中.一旦将用户分配到组,可用的组列表就会减少.我尝试在我的函数中使用promises来控制流,但是根据控制台日志,我的所有groupServices都先运行,然后运行userServices,阻止可用组列表更新更正.

控制器功能:

    $scope.addUserToGroup = function (){
        var defer = $q.defer();
        defer.promise.then(function (){
            userService.addUserToGroup(
                $scope.selectedUser, 
                $scope.selectedAvailableGroups, 
                $scope.assignedGroups, 
                $scope.availableGroups,
                $scope.groups
            ); 
        }).then(compare());
        defer.resolve();
    };
    function compare(){
    console.log('comparing assigned with all ');
        $scope.compareGroups = groupService.compareGroups();         
    }
Run Code Online (Sandbox Code Playgroud)

我正在使用promises试图确保事情按顺序运行,但根据我的控制台输出,它似乎并非如此.

用户服务功能

  var addUserToGroup = function (selectedUser, selectedAvailableGroups, assignedGroups, availableGroups, groups){

    console.dir(selectedUser);
    console.dir(selectedAvailableGroups);
    console.dir(assignedGroups);
    console.dir(availableGroups);
    console.dir(groups);

    var deferred = $q.defer();

    var addPromise = [];
    var selectLength = selectedAvailableGroups.length;

    //Add user to selected groups on server
    deferred.promise
      .then(function (){ 
        for (var i = 0; i < selectLength; i++){ …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

单独处理数组中的多个promise

我有一个函数,它对我的​​服务器进行Web服务调用并返回一个promises数组.

然而,其中一些调用可能有效,而其他调用可能无效.我的函数当前设置的方式,如果其中一个失败,它会警告整个事情都失败了.如果我正在拨5个电话,1可能会失败.我需要正确记录,我不知道该怎么做.

理想的响应/日志是:

  1. 呼叫1通过
  2. 电话2通过
  3. 电话3通过
  4. 呼叫4失败 - 原因
  5. 电话5通过

现在整个事情将返回"句柄用户操作失败",因为调用4失败.

功能:

var manageGroup = function (add, group, users){

    var deffered = $q.defer();
    var arrPromises = [];
    var promiseIndex = arrPromises.length;
    var usersLength = users.length;
    var operation = add ? "AddUserToGroup" : "RemoveUserFromGroup";
    var actionText = add ? "Added: " : "Removed: "
    var actionText2 = add ? " to " : " from "

    //Apply operation on selected groups
    for (var i = 0; i < usersLength; i++){
        arrPromises[i] …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

尝试将固定菜单div置于页面中心

我尝试了一些不同的规则,但我可以将我的顶级菜单放在中心位置.当我将位置更改为绝对位置或相对位置时,它会转到中心,但由于某种原因,高度会变为100%.我没有设定高度,因为我希望五个孩子的大小.

这是HTML:

<div id="topWrapper">
    <a href="index.html">
        <header id="top_header">
            <h1>MacroPlay Games</h1>
        </header>
    </a>
    <nav id="topnav">
        <ul>
            <a href="index.html"><li>Home</li></a>
            <a href="about.html"><li>About</li></a>
            <a href="video.html"><li>Trailers</li></a>
        </ul>
    </nav>   
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

#topWrapper {
    border:1px solid #00ffff;
    background-color:#0d0d0d;
    text-align:center;
    position:fixed;
    z-index:9999;
    width: 850px;
    margin: 0px auto;
    float:clear;
}
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/kjAAy/

html css html5 center css3

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

将div的高度调整到屏幕高度并将页脚固定到底部

我有一个网站,当内容不足时,页脚向上移动并且不会粘到底部.我试图弄清楚如何使页脚和标题之间的div伸展到可用空间,以便页脚保持在底部而不是这样:

在此输入图像描述

我已经尝试将我的高度设置为100%但不起作用.

HTML:

<div id="wrapper">

    <div id="body_div">
        <section id="main_section">
        </section>
        <aside id="sidebar">                    
        </aside>
    </div>
    <footer id="footer">
        &copy; Copyright  by SimKessy
    </footer>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

body{
    width: 100%; /*always specify this when using flexBox*/ 
    height:100%;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    text-align:center;
    -webkit-box-pack:center; /*way of centering the website*/
    -moz-box-pack:center;
    box-pack:center;
    background:url('images/bg/bg9.jpg') no-repeat center center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
}
#wrapper{
    max-width: 850px;
    display: -moz-box;
    display: -webkit-box; /*means this is a box with children inside*/
    -moz-box-orient:vertical;
    -moz-box-flex:1;
    -webkit-box-orient:vertical;
    -webkit-box-flex: 1; …
Run Code Online (Sandbox Code Playgroud)

html css html5 css3

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

从查询中消除NOT IN

我正在尝试消除NOT IN在查询中使用的需要:

select count(*) 
FROM TABLE1 T1
LEFT OUTER JOIN TABLE2 T2
    ON T1.DATAID = T2.EXISTING_DOCUMENT
        AND T1.ownerid = -2000 
        AND T1.SUBTYPE = 144 
        AND T1.dataid NOT IN (SELECT T3.dataid 
                           FROM   TABLE3 T3
                           WHERE  T3.ID = 123)
Run Code Online (Sandbox Code Playgroud)

原因:我读的NOT IN很慢(+ 500k行)并且不使用索引

我试过了:

select count(*) 
FROM TABLE1 T1 
LEFT OUTER JOIN TABLE2 T2 
ON T1.DATAID = T2.EXISTING_DOCUMENT
        AND T1.ownerid = -2000 
        AND T1.SUBTYPE = 144 
left outer join TABLE3 T3 
 on T3.ancestorid = T1.dataid
    where T3.ID = 123
Run Code Online (Sandbox Code Playgroud)

sql oracle

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

Material UI DatePicker 显示错误的日期

Material UI Pickers 中显示的日期比所选日期晚 1 天:

我选择了 25th,formik 中的值为 25th,但表单上显示的值为 24th。

  "@date-io/date-fns": "^1.3.13",
  "date-fns": "^2.9.0",
Run Code Online (Sandbox Code Playgroud)
import DateFnsUtils from '@date-io/date-fns';
import { MuiPickersUtilsProvider, DatePicker } from '@material-ui/pickers';
import { format, addDays } from 'date-fns';

<MuiPickersUtilsProvider utils={DateFnsUtils}>
    <FastField
       as={DatePicker}
       variant="inline"
       disableToolbar
       name="startTime"
       format="PPP"
       onChange={date => {
         console.log(format(date, 'yyyy-MM-dd'));
         setFieldValue('startTime', format(date, 'yyyy-MM-dd'));
       }}
       value={values.startTime}
   />
</MuiPickersUtilsProvider>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

javascript reactjs material-ui date-fns

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

useState 从数组中删除项目

我正在尝试从错误中删除一个项目,但它没有按预期工作。

我使用状态:

  const [actions, setActions] = useState([
    {
      action: "",
      key: ""
    }
  ]);
Run Code Online (Sandbox Code Playgroud)

我有一个按钮来添加操作:

    <IconButton
      icon="add"
      bgColor="white"
      iconColor="darkGray"
      onClick={() =>
        setActions([
          ...actions,
          {
            action: "",
            key: ""
          }
        ])
      }
    />
Run Code Online (Sandbox Code Playgroud)

每行都有一个删除,我正在尝试使用行索引删除操作数组中的项目:

      <IconButton
        disabled={actions.length === 1}
        icon="dash"
        iconColor="red"
        onClick={() => {
          console.log(index);
          setActions(actions => {
            return [...actions.splice(index, 1)];
          });
        }}
      />
Run Code Online (Sandbox Code Playgroud)

https://codesandbox.io/s/actions-selector-n9xb4

javascript arrays reactjs

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

Docker推送到Azure容器注册表:访问被拒绝

我正在尝试将图像推送到Azure容器注册表的实例,但是即使我已成功登录,它仍然会失败。

在此处输入图片说明

azure docker azure-container-registry

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

尝试根据子属性对对象键进行排序

我有这个对象:

var myObject = {
    cat: {
        order: 1
    },

    mouse: {
        order: 4
    },

    dog: {
        order: 2
    },   

    shark: {
        order: 3
    }
}
Run Code Online (Sandbox Code Playgroud)

我想回去: ["cat", "dog", "shark", "mouse"]

我试过了:

_.sortBy(x, function(e) { return e.order} )

javascript lodash

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