小编vsy*_*ync的帖子

使"scrollLeft"/"scrollTop"更改不会触发滚动事件侦听器

目前我的程序位于一个地方,它既可以监听用户滚动某个元素,也可以自动滚动这个元素.(不是一个渐进的,漂亮的卷轴,而是瞬间跳跃.我发誓在上下文中有道理.)

如果通过设置scrollLeft或scrollTop完成滚动,有没有办法使滚动事件不触发?我的第一个想法是一个基本的开关,如:

ignoreScrollEvents = true;
element.scrollLeft = x;
ignoreScrollEvents = false;

function onScroll() {
  if(ignoreScrollEvents) return false;
}
Run Code Online (Sandbox Code Playgroud)

但由于事件不会立即触发(oops,duhh),这不是一个可行的解决方案.我可以尝试其他什么样的答案?我也在使用jQuery,如果这有帮助的话.

html javascript jquery

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

Redux中间件中dispatch和next之间有什么区别?

Redux中间件中dispatch和next之间有什么区别?

export default function sampleMiddleware(store) {
  return next => action => {
   store.dispatch(action)
   next(action)
  }
}
Run Code Online (Sandbox Code Playgroud)

redux

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

如何使用javascript或jquery为json添加键和值

我有一个像这样的json变量

var jsondata={"all":"true"}
Run Code Online (Sandbox Code Playgroud)

我想将另一个键和值推送到jsondata.之后我的jsondata必须像这样.

{"all":"true","FDamount":"false","DDamount":"true"}
Run Code Online (Sandbox Code Playgroud)

怎么做???我试过jsondata.push({"FDamount":"false"})和jsondata.push("FDamount:false").这两种方法都不起作用.

谢谢

javascript json

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

关于'双击'事件的jQuery(dblclick for mobile)

我有以下jquery事件处理函数:

$('.target').on('dblclick', function() {
    //respond to double click event
});
Run Code Online (Sandbox Code Playgroud)

我的问题是这个事件处理程序不适用于触控设备(iPhone,iPad ......).任何人都可以推荐一种可靠的替代品dblclick,可以在触摸设备上使用,并且仍可以在全尺寸设备上轻松双击使用吗?

javascript jquery touch

21
推荐指数
4
解决办法
3万
查看次数

picture(source)元素VS img srcset属性

元素的srcset属性img可帮助作者调整其网站以进行高分辨率显示,以便能够使用代表同一图像的不同资源.

图片元素帮助作者基于媒体查询和/或对特定图像格式的支持来控制用户代理向用户呈现哪个图像资源.

这两者都使作者能够控制基于设备分辨率显示图像;从而使图像响应.那么它们之间的主要区别是什么?

我确实在picture元素草案中找到了一些例子,但仍然无法理解其中的差异.以下是示例:

使用srcset属性:

<img src="pic1x.jpg" srcset="pic2x.jpg 2x, pic4x.jpg 4x"
 alt="A rad wolf" width="500" height="500">
Run Code Online (Sandbox Code Playgroud)

使用picture元素:

<picture>
  <source media="(min-width: 45em)" srcset="large.jpg">
  <source media="(min-width: 18em)" srcset="med.jpg">
  <img src="small.jpg" alt="The president giving an award.">
</picture>
Run Code Online (Sandbox Code Playgroud)

html html5 responsive-design

20
推荐指数
3
解决办法
2127
查看次数

这是什么意思:"document.write('<scr'+'ipt ......"?

我在每个Yahoo!上看过这个 新闻页面,在源代码的底部,
并且无法理解为什么他们会像这样打破脚本字.

有人知道这有什么理由吗?

document.write("<scr"+"ipt language=javascript src=http://l.yimg.com/d/lib/bc/bc_2.0.4.js></scr"+"ipt>");
Run Code Online (Sandbox Code Playgroud)

html javascript

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

检测/测量滚动速度

我试图想出一种方法来测量滚动事件的速度,这将产生某种数字,它将代表速度(从滚动点A到B点的距离相对于它所花费的时间).


我欢迎任何伪代码形式的建议......我试图在网上找到有关这个问题的信息,但找不到任何东西.自2014年以来非常奇怪,谷歌怎么可能没有这个...奇怪!

javascript events scroll

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

等级数独难度级别

我正在用Javascript编写一个有趣的数独游戏.
一切都很好,每次都用一个解决方案完全生成电路板.

我唯一的问题是,这就是让我从公开发布我的项目的原因
是我不知道如何评估我的电路板的难度等级.我在任何地方都看过,
发布在论坛上等等.我不想自己编写算法,这不是这个项目的重点,
除此之外,它们对我来说太复杂了,因为我不是数学家.

我唯一接近的是这个网站,它通过JS进行评分,
但问题是,代码是用一种糟糕的无证,非常特别的方式编写的,
因此无法借用......

我会谈到这一点 -
任何人都可以请我指向一个提供Sudoku评级/评级源代码的地方吗?

谢谢

更新22.6.11:
这是我的数独游戏,我已经实现了自己的评分系统,它依赖
于基本的人工逻辑解决技术,所以请查看它.

javascript algorithm sudoku

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

生成空2D阵列的最佳方法

是否有更短,更好的方法来生成'n'长度的2D阵列?

var a = (function(){ var i=9, arr=[]; while(i--) arr.push([]); return arr })();

a // [ [],[],[],[],[],[],[],[],[] ]
Run Code Online (Sandbox Code Playgroud)

**老派短途**:

var a = (function(a){ while(a.push([]) < 9); return a})([]);
Run Code Online (Sandbox Code Playgroud)

更新 - 使用ES2015

Array(5).fill().map(a=>[]); // will create 5 Arrays in an Array
// or
Array.from({length:5}, a=>[])
Run Code Online (Sandbox Code Playgroud)

清空2D数组(相当于节省内存)

function make2dArray(len){
    var a = [];
    while(a.push([]) < len); 
    return a;
}

function empty2dArray(arr){
    for( var i = arr.length; i--; )
      arr[i].length = 0;
}

// lets make a 2D array of 3 items …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

padding-top如何作为与父母宽度相关的百分比?

这是一个例子:

http://jsfiddle.net/QZAd8/1/

注意所有的红色div是如何相同height而且有padding-top:100%;,但它们A和B有不同的填充大小......并且看起来父级宽度改变了这个值(注意C改变height了父级,但是没有不要改变填充物.

为什么padding以这种方式与宽度相关?

编辑:由于历史原因,如果jsfiddle消失,我在我的例子中使用的代码如下...

.outer {
  background-color: green;
  height: 300px;
  width: 70px;
  float: left;
  margin-right: 10px;
}

.middle {
  background-color: red;
  height: 100px;
  width: 50px;
  padding-top: 100%;
}

.inner {
  background-color: blue;
  height: 3px;
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
<div class='outer'>
  <div class='middle'>
    A
    <div class='inner'>
    </div>
  </div>
</div>

<div class='outer' style='width:100px'>
  <div class='middle'>
    B
    <div class='inner'>
    </div>
  </div>
</div>

<div class='outer' style='height:400px'>
  <div class='middle'>
    C
    <div class='inner'>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

css css3

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

标签 统计

javascript ×7

html ×3

jquery ×2

algorithm ×1

arrays ×1

css ×1

css3 ×1

events ×1

html5 ×1

json ×1

redux ×1

responsive-design ×1

scroll ×1

sudoku ×1

touch ×1