我目前正在使用下面的function,它显示了一个小错误。 根据谷歌地图, 这些坐标之间的距离(从59.3293371,13.4877472到59.3225525,13.4619422)是2,2公里,而function显示为1.6公里。 我怎样才能使查克的function显示正确的距离? function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) { var R = 6371; // Radius of the earth in km var dLat = deg2rad(lat2-lat1); // deg2rad below var dLon = deg2rad(lon2-lon1); var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.sin(dLon/2) * Math.sin(dLon/2) ; var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R […]
我有一个在Drupal上开发的网站。 我使用了一个名为collapsiblock的模块(它基本上是一个JQuery插件)来实现类似手风琴的效果。 它与我工作正常(虽然它在testing版)。 但我想修改它,以便当用户点击手风琴的一个项目时,其他项目将会折叠。 在当前的统计数据中,它的工作方式是当用户点击一个项目时,它将检查项目是否已经被折叠或展开,并且将使项目相反。 这意味着,如果用户点击一个项目,它将展开,如果他/她点击另一个项目,它也将展开,但不会折叠先前点击的项目。 你可以看到下面的代码。 我知道我应该在哪里添加代码崩溃以及如何折叠和展开。 我的问题是:如何select除了用户点击了“.collapsiblock”类的所有项目? 注意:具有“.collapsiblockCollapsed”类的项目会被折叠,如果这个类从项目中被移除,它将被展开。 // $Id: collapsiblock.js,v 1.6 2010/08/18 19:17:37 gagarine Exp $ Drupal.Collapsiblock = Drupal.Collapsiblock || {}; Drupal.behaviors.collapsiblock = function (context) { var cookieData = Drupal.Collapsiblock.getCookieData(); var slidetype = Drupal.settings.collapsiblock.slide_type; var defaultState = Drupal.settings.collapsiblock.default_state; var slidespeed = parseInt(Drupal.settings.collapsiblock.slide_speed); $('div.block:not(.collapsiblock-processed)', context).addClass('collapsiblock-processed').each(function () { var id = this.id; var titleElt […]
如何取消Angular2中的订阅? RxJS似乎有一个处置方法,但我不知道如何访问它。 所以我有代码可以访问一个EventEmitter并订阅它,就像这样: var mySubscription = someEventEmitter.subscribe( (val) => { console.log('Received:', val); }, (err) => { console.log('Received error:', err); }, () => { console.log('Completed'); } ); 我如何使用mySubscription取消订阅?
我有这样的HTML结构: <div ng-click="test()"> <div id="myId" ng-click="test2()"></div> <div></div> … </div> 目前,当我点击与id myId的div ,然后这两个函数被触发,但我希望只是test2函数被触发。 我怎样才能做到这一点?
我有一个对象,它有方法。 这些方法被放入匿名函数中的对象中。 它看起来像这样: var t = {}; window.document.addEventListener("keydown", function(e) { t.scroll = function(x, y) { window.scrollBy(x, y); }; t.scrollTo = function(x, y) { window.scrollTo(x, y); }; }); (有更多的代码,但这足以显示问题) 现在我想在某些情况下停止事件监听器。 因此,我试图做一个removeEventListener,但我不知道如何做到这一点。 我已经阅读过其他问题,无法在匿名函数上调用removeEventListener,但是在这种情况下也是这样吗? 我有一个匿名函数创build的方法,因此我认为这是可能的。 看起来像这样: t.disable = function() { window.document.removeEventListener("keydown", this, false); } 为什么我不能这样做? 有没有其他(好)的方法来做到这一点? 奖金信息; 这只需要在Safari中工作,因此缺less即支持。
是否有可能改变这一点: Hello, this is Mike (example) 对此: Hello, this is Mike 在正则expression式中使用JavaScript?
我有一些咖啡,如下所示: class foo: @bar = 'bob loblaw' processRows: -> $("#my-table>tr").each -> id = $(this).attr("id") @processRow id processRow: (id) -> console.log @bar + id 所以我的问题是:我需要this引用循环内的.each上下文来获得id ,但我也希望this引用foo.processRow()里面的类实例 – 它目前不做。 在.each函数之外使用_this = this的.each并传递它也不是一个好的解决scheme,因为我在processRow引用了许多类variables。 有什么想法吗? 我错过了什么明显的? 谢谢!
我想用ng-click来执行多个expression式。 我想要在模型上设置一个值,并从$scope调用一个方法,如下所示: <a ng-click="navigation.book = book && bookSvc.showBook(book)" href="#{{book.id}}">{{book.title}}</a> 我在哪里&&分离我想要执行的两个不同的expression式。 我知道我可以添加一个方法,在控制器中做这两件事情。 我应该这样做,还是有办法直接从ng-click执行两个expression式?
是否可以通过在网页中运行的JavaScript代码将消息添加到Firefox的内置错误控制台? 我知道我有Firebug,它提供了一个console对象和它自己的错误控制台,但我之前正在寻找一个快速修复,找不到任何东西。 我想这可能根本不可能,以防止恶意网页垃圾邮件日志?
我有一些HTML模型 <a href="javascript:ShowOld(2367,146986,2)"><img title="next page" alt="next page" src="/themes/me/img/arrn.png"></a> 发送请求时,我收到了服务器的响应。 有了这个模型,我得到了AJAX请求的响应,将我的代码发送到服务器。 那么,一切都很好,但当我点击链接浏览器想打开链接的function; 点击后我的意思是看到地址栏 javascript:ShowOld(2367,146986,2) 意味着浏览器的东西,如果我想在做这个萤火虫这是工作的url。 现在我想这样做,然后当任何人点击链接时,浏览器试图调用已经加载在DOM中的function,而不是试图在浏览器中打开它们。