Tag: JavaScript

在使用地图时,反应“不能读取未定义的属性”

我正在从teamtreehouse.com制作一个非常基本的React应用程序,而且我经常遇到 “TypeError:无法读取属性”onPlayerScoreChange“未定义的” 即使我正确地绑定我的function(我认为) 'onPlayerScoreChange'是Grandparent组件中的一个方法,当用户点击“+”或“ – ”button来改变玩家的分数时,该方法就会执行。 如果有人可以解释什么是错误的,这将是非常有帮助的,因为我认为我在伟大的祖父母的构造函数中设置this.onPlayerScoreChange = this.onPlayerScoreChange.bind(this) 。 父组件: class App extends React.Component { constructor(props) { super(props); this.onPlayerScoreChange = this.onPlayerScoreChange.bind(this) this.state = { initialPlayers: props.initialPlayers, }; } onPlayerScoreChange(delta, index) { this.setState((prevState, props) => { return {initialPlayers: this.prevState.initialPlayers[index].score += delta} }) } render() { return( <div className = "scoreboard"> <Header title = {this.props.title}/> <div […]

使用JavaScript在Imacros中循环

我如何循环imm(imacros)脚本与JavaScript 我search了一下,发现这个: for (i = 0; i < n; i++) { iimPlay(marconame.iim); } 但是当我使用它我的浏览器(Firefox 18)挂起:\

用圆形进度条倒计时器

我创build了一个倒数计时器。 我有一个被制成圆形的边框。 由于计时器趋向于零,圆形边框应该在秒内减less颜色。 我创build了JSFIDDLE HTML <div class="outer"> <button class="btn btn-default btn-timer">0.00</button> </div> JS代码 var displayminutes; var displayseconds; var initializeTimer = 1.5 // enter in minutes var minutesToSeconds = initializeTimer*60; $("#document").ready(function(){ setTime = getTime(); $(".btn-timer").html(setTime[0]+":"+setTime[1]) }); $(".btn-timer").click(function(){ var startCountDownTimer = setInterval(function(){ minutesToSeconds = minutesToSeconds-1; var timer = getTime(); $(".btn-timer").html(timer[0]+":"+timer[1]); if(minutesToSeconds == 0){ clearInterval(startCountDownTimer); console.log("completed"); } },1000) […]

使用Ajax将Javascriptvariables传递给PHP

我正在使用Ajax,这是我以前从未使用过的现有脚本。 我有一个variables设置在我的JavaScript文件,从我的网页上的input字段获取其值。 我需要使用Ajax发布到我的PHP页面,我不知道从哪里开始, 林不知道你需要看到什么代码,但我的JavaScript / AJAX代码是,我需要传递的variables是'var credoff' $(".getPoint").click(function () { var theid = $(this).attr("id"); var onlyID = theid.split("_"); var onlyID = onlyID[1]; var credoff = parseInt($(this).children('input.credoff:hidden').val()); $.ajax({ url: 'do.php', type: 'POST', data: "userID=" + onlyID, success: function (data) { if (data != "success1" && data != "success5") { $("#" + theid).text(data); } else { $("#thediv_" […]

TypeError:内容脚本中未定义或为什么我不能在内容脚本中执行此操作?

我试图在Firefox中编写一个简单的扩展,其中我修改了X-Frame-Allow头。 我简要地查看了文档,发现它们支持webRequest.onHeadersReceived.addListener() 。 但是,我无法让我的代码在收到标题时运行。 的manifest.json { "manifest_version": 2, "name": "xframeoptions", "version": "1.0", "description": "Set X-Frame-Options to ALLOW", "icons": { "48": "icons/icon.png" }, "permissions": [ "webRequest", "webRequestBlocking", "<all_urls>" ], "content_scripts": [ { "matches": ["<all_urls>"], "js": ["xframeoptions.js"] } ] } xframeoptions.js function rewriteHeader(e) { console.log(e.responseHeaders); for (var header of e.responseHeaders) { console.log(header.name + ":" + header.value); if […]

我可以得到一个以数字开头的javascript对象属性名称吗?

var myObj = {"suppliers":[{"name":"supplier1","12m":"0.08","24m":"0.06"}]}; alert(myObj.suppliers[0].12m); 有没有不同的方式来获得这个属性,或者我应该不使用以数字开头的密钥?

为什么JQuery只影响第一个div元素?

我正在使用“replace”function删除一个div中的所有非数字值。 看来Jqueryreplace只影响第一个元素。 这里是我的JQuery: $('#comment').each(function() { var thz = $(this); var repl = thz.html(thz.html().replace(/\D+/g, '')); }); HTML代码: <a id="comment1" href="#"> c2fđf011. </a> <a id="comment1" href="#"> c20ff113. </a> <a id="comment1" href="#"> c201gf76341. </a> 结果: 2011年c20ff113。 c201gf76341。 我想要的结果是: 2011 20113 20176341

垂直滚动条出现时,如何停止我的Web内容左移? 总结2017年的build议

许多程序员已经询问如何在垂直滚动条出现时停止其网页内容(特别是其居中的网页内容( margin: 0 auto; ))。 对于像我这样使用隐藏的div和制表符来组织数据的Ajax用户来说,这一直是个问题。 当前显示的页面发生变化时,会出现问题,使得显示的材料的高度(内部窗口高度)突然大于物理窗口高度。 所有的滚动条并非一律平等的现实加剧了这个问题。 不同的浏览器给他们的滚动条不同的宽度,这种差异不能(至less不应该)被预测。 总之,理想的解决scheme是独立于滚动条宽度。 因此,这是一个自我回答的问题,在2017年8月5日之前,将所有这些答案和有用的评论(如果可能)以及我自己的解决scheme汇总成一个答案。我已经标记为重复的以前的问题,我可以find,让人们可以find一个全面的讨论这个问题。 请注意,这个答案解决了BODY内容转移的问题。 如果你有一个固定高度的DIV有移位问题,你应该把DIV的宽度设置为一个固定的( px )宽度,这样它的滚动条浮在文本上方,并添加一些右边的填充以防止文本掉落下来。 贡献者: Hashbrown , Avrahamcool , Edward Newsome

JavaScript的这个对象以我想的方式引用新创build的对象

所以,当我们为创build新对象创build构造函数时,新的关键字会做3件事情,我会解释它,但如果我错了,请纠正我,我想确保我是正确的 首先我将创build一个构造函数 function ObjectCreate(){ this.a = "a"; this.b = "b"; ObjectCreate.prototype.show = function(){ alert(this.a+" "+this.b); } } obj1 = new ObjectCreate(); 现在new关键字所做的第一件事就是创build一个新对象,并将它的秘密链接设置为构造函数的原型,并将其传递给构造函数,现在可以引用它,请注意, this没有提到obj1,因为构造函数完成创build对象才会将新创build的对象返回给obj1variables。 我问这个问题,因为有些人说this是指在这种情况下的obj1对象。 所以我就在这里。

保存对此范围的访问权限

我的颜色存储在我的button的数据属性,我想用在切换。 但是,当我试图使用this访问数据信息时,没有数据可用。 我怎样才能保持我访问正确的范围? 我试图只切换给定的颜色为不包含跳过的元素。 HTML <div> <input id="toggleButton" type="button" value="Toggle" data-color="Red" /> </div> <div id="toggleSet"> <div>Element</div> <div>Skip</div> <div>Element</div> </div> CSS .ActivateRed{ color: red; } JS $('#toggleButton').click(function(){ $("#toggleSet div").each(function(index,element){ if( element.innerHTML != "Skip" ){ $(element).toggleClass("Activate"+$(this).data("color")); //^this has no data to access? //Why am I getting undefined? } }); }); 这是我的尝试jsFiddle 。 我不断得到Activateundefined作为类名。 为什么不能访问我的toggleButton数据?