javascript

java

python

c#

android

node.js

reactjs

c++

php

html

jquery

css

.net

ios

git

ruby-on-rails

sql

c

string

ruby

JavaScript-如何使div全屏显示?

我正在使用Flot对我的一些数据进行图形绘制,并且我认为使该图形在单击按钮时全屏显示(在监视器上占据完整空间)会很棒。 目前,我的CSS如下:

<div id="placeholder" style="width:800px;height:600px"></div>

当然,style属性仅用于测试。 在实际设计之后,我将其移至CSS。 无论如何,我可以使该div全屏显示,并且仍然保留所有事件处理吗?

trans by 2020-01-20T04:56:41Z

javascript-更改“滑动”滑块中的“箭头”按钮

我想更改滑滑条中的箭头,但不会更改。 我想要下一个和上一个按钮作为图像。 我尝试将其放在<style>中,但仍然无法正常工作。 在哪里可以更改箭头设置?

光滑的主题css     @charset“ UTF-8”;

// Default Variables

$slick-font-path: "./fonts/" !default;
$slick-font-family: "slick" !default;
$slick-loader-path: "./" !default;
$slick-arrow-color: white !default;
$slick-dot-color: black !default;
$slick-dot-color-active: $slick-dot-color !default;
$slick-prev-character: "←" !default;
$slick-next-character: "→" !default;
$slick-dot-character: "•" !default;
$slick-dot-size: 6px !default;
$slick-opacity-default: 0.75 !default;
$slick-opacity-on-hover: 1 !default;
$slick-opacity-not-active: 0.25 !default;

@function slick-image-url($url) {
    @if function-exists(image-url) {
        @return image-url($url);
    }
    @else {
        @return url($slick-loader-path + $url);
    }
}

@function slick-font-url($url) {
    @if function-exists(font-url) {
        @return font-url($url);
    }
    @else {
        @return url($slick-font-path + $url);
    }
}

/* Slider */

.slick-list {
    .slick-loading & {
        background: #fff slick-image-url("ajax-loader.gif") center center no-repeat;
    }
    position: absolute;
    margin: 0 auto;
}

/* Icons */
@if $slick-font-family == "slick" {
    @font-face {
        font-family: "slick";
        src: slick-font-url("slick.eot");
        src: slick-font-url("slick.eot?#iefix") format("embedded-opentype"), slick-font-url("slick.woff") format("woff"), slick-font-url("slick.ttf") format("truetype"), slick-font-url("slick.svg#slick") format("svg");
        font-weight: normal;
        font-style: normal;
    }
}

/* Arrows */

.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 20px;
    width: 30px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    margin-top: -10px;
    padding: 0;
    border: none;
    outline: none;
    &:hover, &:focus {
        outline: none;
        background: transparent;
        color: transparent;
        &:before {
            opacity: $slick-opacity-on-hover;
        }
    }
    &.slick-disabled:before {
        opacity: $slick-opacity-not-active;
    }
}

.slick-prev:before, .slick-next:before {
    font-family: $slick-font-family;
    font-size: 20px;
    line-height: 1;
    color: $slick-arrow-color;
    opacity: $slick-opacity-default;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
    left: -25px;
    [dir="rtl"] & {
        left: auto;
        right: -25px;
    }
    &:before {
        content: $slick-prev-character;
        [dir="rtl"] & {
            content: $slick-next-character;
        }
    }
}

.slick-next {
    right: -25px;
    [dir="rtl"] & {
        left: -25px;
        right: auto;
    }
    &:before {
        content: $slick-next-character;
        [dir="rtl"] & {
            content: $slick-prev-character;
        }
    }
}

/* Dots */

.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: absolute;
    bottom: -45px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    width: 100%;
    li {
        position: relative;
        display: inline-block;
        height: 20px;
        width: 20px;
        margin: 0 5px;
        padding: 0;
        cursor: pointer;
        button {
            border: 0;
            background: transparent;
            display: block;
            height: 20px;
            width: 20px;
            outline: none;
            line-height: 0px;
            font-size: 0px;
            color: transparent;
            padding: 5px;
            cursor: pointer;
            &:hover, &:focus {
                outline: none;
                &:before {
                    opacity: $slick-opacity-on-hover;
                }
            }
            &:before {
                position: absolute;
                top: 0;
                left: 0;
                content: $slick-dot-character;
                width: 20px;
                height: 20px;
                font-family: $slick-font-family;
                font-size: $slick-dot-size;
                line-height: 20px;
                text-align: center;
                color: $slick-dot-color;
                opacity: $slick-opacity-not-active;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
            }
        }
        &.slick-active button:before {
            color: $slick-dot-color-active;
            opacity: $slick-opacity-default;
        }
    }
}

光滑的CSS

/* Slider */

.slick-slider {
    position: relative;
    margin: 0 auto;
    display: block;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0 auto;
    padding: 0;

    &:focus {
        outline: none;
    }

    &.dragging {
        cursor: pointer;
        cursor: hand;
    }
}
.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;

    &:before,
    &:after {
        content: "";
        display: table;
    }

    &:after {
        clear: both;
    }

    .slick-loading & {
        visibility: hidden;
    }
}
.slick-slide {
    float: left;
    min-height: 1px;
    [dir="rtl"] & {
        float: right;
    }
    img {
        display: block;
    }
    &.slick-loading img {
        display: none;
    }

    display: none;

    &.dragging img {
        pointer-events: none;
    }

    .slick-initialized & {
        display: block;
    }

    .slick-loading & {
        visibility: hidden;
    }

    .slick-vertical & {
        display: block;
        height: auto;
        border: 1px solid transparent;
    }
}

网站预览

trans by 2020-01-20T04:39:11Z

javascript-js中的简单限制

我正在寻找JS中的简单节流阀。 我知道像lodash和underscore这样的库都有它,但是仅对一个函数来说,包含其中任何一个库都是过大的。

我也在检查jquery是否具有类似的功能-找不到。

我发现一个工作的节流阀,下面是代码:

function throttle(fn, threshhold, scope) {
  threshhold || (threshhold = 250);
  var last,
      deferTimer;
  return function () {
    var context = scope || this;

    var now = +new Date,
        args = arguments;
    if (last && now < last + threshhold) {
      // hold on to it
      clearTimeout(deferTimer);
      deferTimer = setTimeout(function () {
        last = now;
        fn.apply(context, args);
      }, threshhold);
    } else {
      last = now;
      fn.apply(context, args);
    }
  };
}

问题是:在油门时间结束后,它将再次触发该功能。 因此,假设我制作了一个在按键时每10秒触发一次的油门-如果我按键2次,则在完成10秒后仍会触发第二次按键。 我不要这种行为。

trans by 2020-01-20T02:37:31Z

为什么不能从原型更改构造函数?

我有这样的例子。

function Rabbit() {
    var jumps = "yes";
};
var rabbit = new Rabbit();
alert(rabbit.jumps);                    // undefined
alert(Rabbit.prototype.constructor);    // outputs exactly the code of the function Rabbit();

我想更改Rabbit()中的代码,以便var jumps公开。 我这样做:

Rabbit.prototype.constructor = function Rabbit() {
    this.jumps = "no";
};
alert(Rabbit.prototype.constructor);    // again outputs the code of function Rabbit() and with new this.jumps = "no";
var rabbit2 = new Rabbit();             // create new object with new constructor
alert(rabbit2.jumps);                   // but still outputs undefined

为什么无法以这种方式更改构造函数中的代码?

trans by 2020-01-20T02:16:23Z

跨域资源共享GET:“拒绝从响应中获取不安全的标头“ etag””

没有自定义标头的简单GET请求。 响应将按预期返回。 正文中的数据是可访问的,但标头不可访问。

当我尝试访问“ etag”标头时,浏览器会引发异常:

拒绝获取不安全的标头“ etag”

Chrome,Safari和Firefox的行为均相同。 我没有在IE上测试过。

我在这里想念什么?

trans by 2020-01-20T01:39:46Z

javascript-在React Nati中使用async / await时出错

尝试在react-native中使用async / await时,出现以下错误:

    uncaught error Error: SyntaxError: /Users/senthilsivanath/Documents/MusicTulip/index.ios.js: Unexpected token (50:23)
  48 |   renderScene: function(route,nav) {
  49 |     try {
  50 |          const response = await signIn.isLoggedIn();

我的.babelrc文件是:

{ "presets": ["react-native", "es2015", "babel-preset-stage-3"] }
trans by 2020-01-20T00:15:05Z

javascript-正则表达式提取子字符串,由于某种原因返回2个结果

我需要在javascript中做很多正则表达式操作,但是语法有一些问题,由于某些原因,我似乎找不到关于此的确定资源。

var tesst = "afskfsd33j"
var test = tesst.match(/a(.*)j/);
alert (test)

表明

"afskfsd33j, fskfsd33"

我不确定为什么要给出原始和匹配的字符串的输出,我想知道如何才能得到匹配的字符串(本质上是从原始字符串中提取我想要的部分)

感谢您的任何建议

trans by 2020-01-19T23:00:11Z

javascript-自动完成功能要求您在更新到1.11.0后在iOS中单击两次

使用jQuery 2.1.0和jQuery.ui 1.11.0在iOS 7中进行了测试。iPhone和iPad Mini。 适用于android和常规浏览器。

问题

我们最近从jQuery UI 1.10.0升级到1.11.0,现在,当单击自动完成结果列表中的项目时,您只会悬停鼠标,必须再次单击相同的元素才能获得click事件。 以前在1.10.0版中可以正常工作。

(注释中的JSFiddle链接)

什么不起作用

使用CSS {cursor: pointer}不起作用

使用onclick=""不起作用

(注释中的JSFiddle链接)

奇怪的部分

但是有趣/奇怪的部分到了。 它可以在JSFiddle编辑视图中使用,但不能在JSFiddle“ / show”页面上使用。

JSFiddles :(键入字母以显示结果“ s”是一个很好的结果)

  • HTML视图(无效)

  • 编辑视图(工作)

我已经为此工作了好几天,但是在仅测试html视图之前无法在JSFiddle中重现它。 所以现在我转向你。 我一辈子都无法弄清楚为什么一页触发一次点击事件,而另一页却不触发点击事件。

我正在使用jQuery自动完成功能的最基本功能。 实际上,使用与jQuery UI主页上显示的代码完全相同的代码。

问题

那么,如何在/ show页面上的iOS中单击一次即可获得自动完成功能?

(我将在评论中发布其他链接,因为我还没有10位代表。除非我没有足够的代表来评论...)

trans by 2020-01-19T21:38:49Z

Javascript-如何编写简单的Gulp Pipe函数?

我一直在尝试写两个管道函数,一个用于编译较少的文件,另一个用于合并这些文件。 我想学习如何为更复杂的插件编写转换流/管道。

因此,我想知道如何从另一个管道读取数据,以及如何更改该数据并将其发送到下一个管道。 这是我到目前为止所拥有的:

 gulp.src(sources)
   .pipe(through.obj(function (chunk, enc, cb) {

     var t = this;
     // console.log("chunk", chunk.path);
     fs.readFile(chunk.path, enc, function (err,data) {
       if (err) { cb(err); }

       less.render(data, {
         filename : chunk.path,
         sourceMap : {
           sourceMapRootpath : true
         }
       })
       .then(function (outputCss) {
          // console.log("less result",outputCss);
          t.push(chunk);// or this.push(outputCss) same result
          cb();
       });

     });

   }))
   .pipe(through.obj(function (chunk, enc, cb) {
     console.log("chunk", chunk.path); // not event getting called.
     cb();
   }))

对于第二个管道中的每个文件,我无法获取outputCSS。 如何发送?

trans by 2020-01-19T21:01:49Z

css-在Javascript中将em转换为px(并获取默认字体大小)

在某些情况下,获取em测量的确切像素宽度可能会很有用。 例如,假设您有一个具有CSS属性(如border或padding)的元素(以ems为单位),并且您需要获取border或padding的确切像素宽度。 有一个涉及此主题的现有问题:

如何使用JavaScript或JQuery获得默认字体大小(以像素为单位)?

此问题询问有关获取默认字体大小的信息-这是将相对getDefaultFontSize()值转换为精确的offsetWidth值所必需的。

这个答案很好地解释了如何获取元素的默认字体大小:

由于ems可以测量宽度,因此您始终可以计算出确切的像素字体   通过创建一个长度为1000 ems的div并将其除以   client-Width属性减1000。我似乎记得ems被截断为   最接近的千分之一,因此您需要1000个em来避免错误   截断像素结果。

因此,以此答案为指导,我编写了以下函数来获取默认字体大小:

function getDefaultFontSize(parentElement)
{
    parentElement = parentElement || document.body;
    var div = document.createElement('div');
    div.style.width = "1000em";
    parentElement.appendChild(div);
    var pixels = div.offsetWidth / 1000;
    parentElement.removeChild(div);
    return pixels;
}

有了默认字体大小后,只需将ems乘以元素的默认字体大小并将结果四舍五入,就可以将任何getDefaultFontSize()宽度转换为offsetWidth宽度。

getDefaultFontSize()

问题:理想情况下,getDefaultFontSize()应该是一个简单的,无副作用的函数,该函数返回默认字体大小。 但是它确实有一个不幸的副作用:它修改了DOM! 它附加一个孩子,然后删除该孩子。 为了获得有效的offsetWidth属性,必须追加孩子。 如果不将子项div附加到DOM,则offsetWidth属性将保持为0,因为从不渲染该元素。 即使我们立即删除了子元素,此功能仍然会产生意外的副作用,例如引发正在侦听父元素的事件(例如Internet Explorer的onpropertychange或W3C的DOMSubtreeModified事件)。

问题:是否有任何方法可以编写真正的免费副作用getDefaultFontSize()函数,而不会意外触发事件处理程序或引起其他意外副作用?

trans by 2020-01-19T20:51:59Z

javascript-防止在输入类型编号中键入非数字

如果输入不是有效数字,则使用type=number将导致事件侦听器内部的this.value = this.value.replace(/[^0-9.]/g, "")返回空字符串。 您可以在[http://jsfiddle.net/fSy53/]上看到一个示例。

但是,无效字符仍显示在输入中。

有什么方法可以从事件侦听器中获取实际显示的值,包括无效字符?

我的最终目标是防止用户在字段中实际键入任何非数字字符。 我需要使用type=number,以便移动设备使用数字虚拟键盘。 我的目标是在keyup keypress上执行类似this.value = this.value.replace(/[^0-9.]/g, "")的操作,但这不起作用,因为如果键入了无效字符,则从this.value读取将返回""

trans by 2020-01-19T18:55:10Z

javascript-IE10中拒绝本地存储访问

昨天我安装了Windows 8,现在尝试了解为什么在访问本地存储时收到“访问被拒绝”消息。 该页面与浏览器([http:// localhost)在同一台PC上提供服务。]我的感觉是IE 10中的安全设置之一是错误的,但是我还没有弄清楚哪一个。

触发错误的JavaScript代码行是:

if(window.localStorage.getItem('phone') == null)

该代码在最新版本的Chrome中可以正常运行。

trans by 2020-01-19T18:22:05Z

javascript-检查父窗口是iframe还是n

如果父项本身也在iframe内,如何从iframe内的页面判断呢?

说明:

我的首页home.html包含一个iframe

<iframe src="sample.html"></iframe>

我需要检测sample.html(即sample.html的父级)是否在iframe中。

sample.html中的代码:

if(self==window)
{
    alert('home.html is not in iframe');
}
else
{
    alert('home.html is in iframe');
}

我的问题不是重复的。 情况不同。

trans by 2020-01-19T16:12:36Z

javascript-如何检查两个对象具有相同的属性名称集?

我正在为应用程序使用node,mocha和chai。 我要测试返回的结果数据属性是否与我的模型对象之一相同(“对象类型”)(非常类似于chai的实例)。 我只想确认两个对象具有相同的属性名称集。 我对这些属性的实际值特别不感兴趣。

假设我的模型人如下。 我想检查一下我的results.data是否具有与预期模型相同的所有属性。 因此,在这种情况下,具有firstName和lastName的Person。

因此,如果results.data.lastNameresults.data.firstName都存在,则应返回true。 如果任何一个都不存在,则应返回false。 一个额外的好处是,如果results.data具有诸如result.data.surname之类的任何其他属性,则它将返回false,因为Person中不存在姓氏。

这个模型

function Person(data) {
  var self = this;
  self.firstName = "unknown";
  self.lastName = "unknown";

  if (typeof data != "undefined") {
     self.firstName = data.firstName;
     self.lastName = data.lastName;
  }
}
trans by 2020-01-19T15:35:52Z

node.js-在javascript中创建ISO日期对象

我已经建立了一个mongo数据库。在mongoDb中创建新的日期对象,以ISO格式创建日期对象例如:new Date()

我正在使用node.js连接到mongo数据库并查询数据库。每当我在javascript中创建新的日期对象(new Date())时,它都会创建javascript日期对象,例如:Wed Mar 06 2013 14:49:51 GMT-0600 (CST)

有没有一种方法可以在javascript中创建ISO日期对象,以便我可以将该对象直接发送到mongoDb并执行日期查询

我可以在mongoDb中执行以下查询

db.schedule_collection.find({
  start_date: { '$gte': new Date(2012, 01, 03, 8, 30) }
})

但是当我从节点发送javascript日期对象时无法执行

mongodb Cookbook提供了一个使用datetime模块查询mongo数据库的python示例,但未提供任何使用javascript的示例。

任何帮助表示赞赏。预先谢谢你

trans by 2020-01-19T14:59:12Z

javascript-获取obj中数组的大小

我想要一些有关获取对象内部数组大小的帮助:

var st = { "itema":{...},"itemb":[{"id":"s01","cd":"c01","dd":"d01",....}{"id":"s02","cd":"c02","dd":"d02",....}]}

您将如何计算"itemb"(在本例中为2)内部的对象?

trans by 2020-01-19T14:56:28Z

getelementsbyclassname-如何从纯JavaScript中的元素中删除类?

我想知道如何选择类名称为“ widget”和“ hover”的所有元素,然后从这些元素中删除类“ hover”。

我有以下JavaScript代码,用于选择“ widget”和“ hover”类的所有元素:

var elements = document.getElementsByClassName('widget hover');
console.log(elements);

这似乎可以正常工作,并输出类似以下内容(无错误):

[div#.widget... 

问题是,如果我尝试删除类“ hover”,则会收到错误消息:

var elements = document.getElementsByClassName('widget hover');
console.log(elements);
elements.classList.remove("hover");

输出:

[item: function]
length: 0
Uncaught TypeError: Cannot call method 'remove' of undefined 

谁能告诉我我在做什么错?


请注意,我可以在jQuery中使用它:

$('.widget.hover').removeClass('hover');

...但是我正在寻找纯JavaScript的解决方案。

trans by 2020-01-19T14:50:17Z

javascript-提取当前DOM并将其打印为字符串,其中包含样式

我希望能够按原样获取我的DOM,并将其转换为字符串。 假设我打开检查器并更改了特定元素的margin-left属性。 该更改应反映在我的字符串中。

该函数应正确采用当前应用于元素的所有样式(不包括默认值),并将其包括在该元素的内联样式中。

我写了一个“解决方案”,事实证明这是不够的。 Webkit中的getMatchedCSSRules功能极为复杂,我无法确定为什么有时可以正常工作,而在其他时候却无法工作。 因此,我想避免使用此功能,除非它在100%的时间内都有效。 同样,getComputedStyle函数也有其自身的问题。 如果使用检查器将此页面上的#footer元素更改为7px solid red而不是7px solid black,则更改将反映在我在控制台中运行getComputedStyle(document.getElementById('footer')).cssText时,但它也会为我提供许多从未被修改的继承属性。 用户使用检查器或页面上的样式表。

我正在寻找一种适用于webkit的解决方案-跨浏览器兼容性目前不是问题。

谢谢!

trans by 2020-01-19T14:34:46Z

html-在纯Javascript中按类隐藏元素

这个问题已经在这里有了答案:

  • querySelectorAll和getElementsBy *方法返回什么?                                     9个答案

我已经尝试了以下代码,但是没有用。 知道我哪里出问题了吗?

[self->webView stringByEvaluatingJavaScriptFromString:@""];
[self->webView stringByEvaluatingJavaScriptFromString:@""];

无法使用jQuery或更改HTML,因为我在Objective-C中使用[self->webView stringByEvaluatingJavaScriptFromString:@""];

trans by 2020-01-19T14:31:21Z

javascript-为什么我必须在gulp中使用Vinyl-source-stream?

我正在尝试使用gulp和browserify将我的Arguments to path.resolve must be strings文件转换为vinyl-source-stream文件。

var gulp = require('gulp');
var browserify = require('browserify');
var reactify = require('reactify');

gulp.task('js', function () {
  browserify('public/javascripts/src/app.jsx')
    .transform(reactify)
    .bundle()
    .pipe(gulp.dest('public/javascripts/dist'))
});

```

上面抛出了Arguments to path.resolve must be strings。我设法通过使用vinyl-source-stream来解决它

var source = require('vinyl-source-stream');
...
.bundle()
.source('app.js')
...

为什么这样做? 我对nodejs和gulp很陌生。 在阅读了该项目的自述文件和源代码之后,我仍然感到困惑。 有什么帮助吗?

trans by 2020-01-19T14:19:33Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共413页