草庐IT

javascript - 设置溢出-y : hidden; causes the page to jump to the top in Firefox

我有一些javascript可以处理在我的网站上打开模式弹出窗口,它还设置了overflow-y上的属性(property)元素到hidden.在Chrome和IE中,这按预期工作-滚动条隐藏,模式弹出窗口后面的页面保持在相同的滚动位置。当弹出窗口关闭时,overflow-y设置为scroll并且页面处于与之前相同的状态和位置。但是在Firefox中,只要overflow-y更改为hidden页面滚动位置跳到最顶部,因此当弹出窗口关闭时,View对用户来说已经改变-不理想。问题可见onthisjsfiddle是否有针对此行为的解决方案? 最佳答案

javascript - BackboneJs : how do i bootstrap my data in the page markup, 我什么时候将它们分配到我的收藏中

所以,构建一个使用多个(目前为2个)全局集合的应用程序,它是文档和患者的目录,它们有关系,但不是像1个文档或属于1个患者的文档列表,所以它们实际上是2个独立的集合,我的应用程序在模块系统中构建,与此处描述的方式非常相似:http://weblog.bocoup.com/organizing-your-backbone-js-application-with-modulesbackbone.js文档说了引导,做这样的事情,Accounts.reset();那是在Rails应用程序中,但是我需要在asp.netMVC3中以不同的方式执行它,很可能我只是打印出我的json字符串而不是这不是r

Javascript 性能 : How come looping through an array and checking every value is faster than indexOf, 搜索和匹配?

这对我来说是一个巨大的惊喜,我想了解这个结果。我做了一个testinjsperf这基本上应该采用一个字符串(这是我想检查的URL的一部分)并检查是否存在4个项目(实际上存在于字符串中)。它以5种方式检查:简单的indexOf;分割字符串,然后是indexOf;正则表达式搜索;正则表达式匹配;拆分字符串,遍历项目数组,然后检查是否有任何项目匹配它应该匹配的东西令我大吃一惊的是,5号是Chrome21中最快的。这是我无法解释的。在Firefox14中,普通的indexOf是最快的,我相信这一点。 最佳答案 我也很惊讶,但Chrome使用

javascript - jQuery 颜色框 : how do I prevent the loading indicator small box from appearing before the main colorbox content does?

我正在使用jQuerycolorbox加载登录表单(通过ajax)。但是,这个小方框会显示几秒钟,然后会淡入我要加载的实际内容中。所以在观察了几个colorboxexamples之后在网站上,我有点确定这个小盒子应该是一个预装盒子。有什么办法可以让这个框完全不显示吗?我试过一些愚蠢的事情,比如调整CSS和为所有加载项设置display:none,但它不起作用。我想避免任何CSShack并通过修改javascript来解决这个问题。理想情况下,加载框永远不会显示的某种方式,因为我不会将colorbox用于任何需要很长时间才能加载。使用我修改过的colorboxjavascript和CSS

javascript - D3 : Is it possible to zoom+pan one axis and only pan the other?

我有x轴的缩放和平移功能,但我想为y轴添加平移功能。我尝试使用d3.behavior.zoom和d3.event.translate[1]来获取y平移值并使用它,但是当缩放发生时平移值会发生变化,而单击拖动确实会平移y轴,缩放也会平移y轴(以一种非直观的方式)。我还尝试使用两个d3.behavior.zoom实例,一个用于x轴,一个用于y轴,但只有最后添加的一个在缩放事件中被调用。这是一个适用于在x方向缩放和平移的示例,我也想添加y平移(但不是y缩放):varx=d3.scale.linear().domain([0,800]).range([0,800]);vary=d3.scale

javascript - JS/J查询 : how to check whether dropdown has selected values?

我已经用谷歌搜索并尝试了很多方法来做到这一点,但到目前为止没有一个对我有用。我要找的东西很简单:我想知道下拉列表是否有选定的值。问题在于selectedIndex、:selected、val()等确实会针对以下情况返回结果:123234很明显,浏览器会显示这个下拉菜单,其中123选项被选中,但它会被选中只是因为没有其他选项,实际上这个下拉菜单没有选中的值,因为没有“selected”属性。所以基本上我试图找到如何区分上面的下拉菜单123234 最佳答案 varhasValue=($('select>[selected]').leng

javascript - 未捕获的语法错误 : Failed to execute 'postMessage' on 'Window' : Invalid target origin 'my_page' in a call to 'postMessage'

我有以下脚本父页面(pair_pixel_filter.php):window.addEventListener("message",function(e){$('#log').append("Receivedmessage:"+(e.data));},false);$('.photo-upload-btn').click(function(event){event.preventDefault();window.open($(this).attr("href"),"popupWindow","width=600,height=600,scrollbars=yes");});子页面$.

javascript - 类型错误 : Value can't be converted to a dictionary

我在Firefox中收到以下错误,但在Chrome中没有:TypeError:Valuecan'tbeconvertedtoadictionary单击定义为的链接时发生错误bla当scroll在我的页面中被定义为一个函数时。我尝试用谷歌搜索它,但没有找到任何结果。Firefox控制台告诉我错误出现在页面的第一行。这是空白的。有谁知道它可以是什么?Firefox控制台告诉我它在我页面的第0行,但是那里没有javascript。 最佳答案 问题是浏览器使用了我不小心覆盖的内置滚动功能。我更改了函数的名称并且一切正常:)

javascript - 为什么我在 IE : "The data area passed to a system call is too small"? 中收到此错误

我正在使用Javascript创建一个供下载的csv文件,它在除IE(我已经测试过8和10)之外的所有文件中都运行良好。在IE8中,当我单击创建和下载文件的按钮时,我收到一条错误消息,提示“传递给系统调用的数据区域太小”。在IE10中,当我单击该按钮时,它只会打开一个新选项卡,其中包含我在地址栏中创建的URL,但不会下载任何内容。知道这个错误是什么意思吗?我在按钮中有这段代码:varcsvContent="data:text/csv;charset=utf-8,";csvContent+=escape(myCSVvariable);varencodedUri=encodeURI(csv

javascript - Angular2 指令 : How to detect DOM changes

我想将Skrollr实现为Angular2属性指令。所以,格式可能是:但是,为了实现这一点,我需要能够检测包含标记(在本例中为)下方的子元素中DOM的变化,以便我可以调用skrollr.init()。刷新();并更新库以使用新内容。是否有一种我不知道的直接方法,或者我是否采用了错误的方法? 最佳答案 Angular没有为此目的提供一些内置的东西。您可以使用MutationObserver检测DOM变化。@Directive({selector:'[my-skrollr]',...})classMyComponent{construc