Tag: javascript

Backbone.js PushStates:Internet Explorer的后备无法正常工作

我的网站刚刚在Backbone.js中实现了pushstates,并且IE的整个站点都已中断。 我该如何为IE创建一个后备? 我想要实现的目标 主要url: http://mydomain.com/explore : http://mydomain.com/explore 另一个url: ‘http://mydomain.com/explore/1234 : ‘http://mydomain.com/explore/1234 该网站的主页是http://mydomain.com/explore ,它触发路由器functionexplore 。 当用户访问http://mydomain.com/explore/1234 ,Backbone的路由器将触发functionviewListing ,这与functionexplore相同,但也包括项目ID 1234详细信息。 Backbone.js路由器 // Router var AppRouter = Backbone.Router.extend({ routes: { ‘explore’: ‘explore’, ‘explore/:id’: ‘viewListing’, }, explore: function() { this.listingList = new ListingCollection(); // More code here }, viewListing: function(listing_id) { this.featuredListingId = listing_id; // Sent along with fetch() […]

覆盖video上的播放按钮

我目前有一个播放和暂停video的剧本。 我想要做的是在开始时和暂停时在video上叠加播放按钮,并且当video再次播放时同一按钮消失。 任何建议,将不胜感激。 HTML CSS .video { width: 50%; border: 1px solid black; } JS // Plays and pauses video on click $(‘.video’).click(function(){this.paused?this.play():this.pause();});

使用多维数组创建多维对象

我试图建立一个有点先进的“Flot”jQuery插图。 为此,我需要一个多维对象(或者至少我认为它是)。 结构应如下所示: var datasets = { “usa”: { label: “USA”, data: [[1988, 483994], [1989, 479060], [1990, 457648], [1991, 401949], [1992, 424705], [1993, 402375], [1994, 377867], [1995, 357382], [1996, 337946], [1997, 336185], [1998, 328611], [1999, 329421], [2000, 342172], [2001, 344932], [2002, 387303], [2003, 440813], [2004, 480451], [2005, 504638], [2006, 528692]] }, “russia”: { label: “Russia”, […]

使用jQuery计算一组元素的最大宽度

我做了一个快速的Jsbin: http ://jsbin.com/ujabew/edit#javascript,html,live 我想要实现的是找出链接中3个中最大的 。 所以我想要的是,在循环运行之后,将var width设置为任何宽度可能的最大可能数量。 正在进行的代码链接中

javascript:如何将日期字符串(YYYY-MM-DD)增加1天

我知道如何在php中使用date()和mktime()函数,但不知道如何在javascript中完成同样的事情… function incr_date(date_str){ //…magic here return next_date_str; } var date_str = ‘2011-02-28’; console.log( incr_date(date_str) ); //want to output “2011-03-01” 这对js来说甚至可能吗?

如何在IE中强制进行Javascript垃圾回收? 在AJAX调用和DOM操作之后,IE的行为非常慢

我有一个带有链式下拉菜单的页面。 从第一个select选择一个option填充第二个option从第二个select选择一个option将使用页面上空div上的innerHtml函数返回匹配结果的表。 问题是,一旦我做出选择并且大量数据被带到页面上,页面上的所有后续Javascript运行exception缓慢。 看起来我通过AJAX拉回来填充div所有数据仍然占用了大量内存。 我在调用innerHtml之后尝试将包含AJAX结果的返回对象设置为null但没有运气。 当我使用Javascript将大量数据插入DOM时,Firefox,Safari,Chrome和Opera都没有显示性能下降,但在IE中它非常明显。 为了测试它是一个Javascript / DOM问题而不是一个普通的旧IE问题,我创建了一个页面版本,它返回初始加载的所有结果,而不是通过AJAX / Javascript,并发现IE没有性能问题。 仅供参考,我正在使用jQuery的jQuery.get方法来执行AJAX调用。 编辑这是我正在做的事情: function onFinalSelection() { var searchParameter = jQuery(“#second-select”).val(); jQuery.get(“pageReturningAjax.php”, {SEARCH_PARAMETER: searchParameter}, function(data) { jQuery(“#result-div”).get(0).innerHtml = data; //jQuery(“#result-div”).html(data); //Tried this, same problem data = null; }, “html”); } 我想要指出,当返回data非常大时,这只会成为一个问题。 它与大小直接相关,因为我能够看到中等大小结果的适度减速,并且当返回几百条记录时只会出现大幅减速。

无需JavaScript即可展开/折叠移动导航栏

在移动设备上,Bootstrap 3默认情况下会将导航栏(导航栏)缩小为汉堡图标。 单击汉堡包时,JavaScript会切换导航菜单项的显示 – 扩展或折叠导航栏。 但 如何在不需要JavaScript的情况下切换bootstrap mobile navbar collapse / expand? 如果这是可能的,它将具有良好的性能优势 :用户可以在JavaScript执行之前已经导航(在片状移动连接上有好处),而较小的项目可以完全放弃对jQuery + bootstrap javascript的依赖,节省大约45k在第一页加载。 此外,在JS错误的情况下,网站变得更加强大 – 至少页面导航保持可用。 或者,可以在没有jQuery依赖的情况下重新实现bootstrap JS – 在这里完成导航栏。 作为参考,这是静态导航栏顶部示例在移动模式下的样子:

基于父div使Bootstrap响应的最佳方法?

我需要一个引导程序中的容器来响应父div而不是媒体查询。 如果没有,我无法找到最好的方法,特别是如果可能的话,不使用javascript。 目前,在resize时,我计算是否.span* divs应该是100%宽度(如果父div最终低于640px)或尊重columning CSS。 这是一个jsfiddle。 使用.somecontainer上的CSS, .somecontainer .span*的内部布局应该像移动一样 – 所以每列应该全宽,如果你将CSS改为640px以上,例如,它会重新布局到列布局。 有任何想法吗? 目前使用的代码与此类似(不太理想) $(document).ready(function(){ $(‘.somecontainer’).on(‘resize’,function(){ if ($(‘.somecontainer’).width() < 640) { $('.somecontainer').addClass('m'); } else { $('.somecontainer').removeClass('m'); }); }); http://jsfiddle.net/tsdexter/ArqUR/1/ 谢谢,托马斯

如何在Fancybox的onComplete事件中使用$(this)?

我正试图在Fancybox的onComplete事件中使用jQuery的$(this) ,但我遇到了麻烦。 这是我的javascript代码: $(‘a.iframe’).fancybox({ centerOnScroll: true, onComplete: function(){ var self = $(this); var title = self.title; alert(title.text()); } }); 我已经简化了上面的代码以获得我的观点,但我真的很想使用$(this) ,原因有几个,我不会在这里讨论。 Fancybox的文档显示了在其文档中使用this而不是$(this)示例,但我没有看到任何在onComplete或其他事件中使用的示例。 我当然尝试使用this ,但无济于事。 有没有人知道如何通过在onComplete事件中使用$(this)或任何其他方法来引用触发的a.iframe元素? 编辑:我使用Blackcoat的建议让这个工作,这里有最终的语法: $(‘a.iframe’).fancybox({ centerOnScroll: true, onComplete: function( links, index ){ var self = $(links[index]); var title = self.find(‘.title’).text(); alert(title); } });

弹出窗口在ajax成功处理程序中被阻止

我正在尝试打开一个弹出窗口,允许用户通过Twitter进行身份validation,而无需离开他们正在查看的页面。 我已经看到这种技术在网络上使用,特别是与Disqus评论应用程序。 但是,我只能获得两个结果,或者“弹出窗口被阻止”消息,或者甚至没有任何结果。 我尝试过使用此处和此处列出的方法。 我怎样才能解决这个问题? 我的代码目前看起来像: var windowSizeArray = [ “width=200,height=200”, “width=300,height=400,scrollbars=yes” ]; var url = $(‘.twitter_popup’).attr(“href”); var windowName = $(‘.twitter_popup’).attr(“name”); var windowSize = windowSizeArray[$(‘.twitter_popup’).attr(“rel”)]; window.open(url, windowName, windowSize);