Tag: javascript

检测多个图像加载事件

我想知道是否有办法检测多个图像的加载事件(特别是,当给定集合中的最后一个图像完成加载时,应该执行一个函数)。 例如,用户点击链接并且lighbox出现10个图像。 加载完所有图像后,加载条应消失。 jQuery(“.lightbox-image”).each(function(){ var image = jQuery(this); jQuery(”).attr(‘src’, image.attr(‘src’)).load(function(){ hideLoadingBar(); }); }); 不幸的是,这触发了hideLoadingBar(); 太早(在一张图片完成加载后)。 PS 我还需要在缓存图像之后才能使用我的函数: jQuery(‘#img1, #img2’).load(); 不行。

数天直到今天moment.js

我有一个function,可以获得直到今天的天数。 但它工作正常,我使用moment.js来编写和格式化JSON数据的日期,我认为这会导致冲突。 有没有办法用moment.js做同样的事情? 这是有效的JavaScript: http : //jsfiddle.net/infatti/XeqPT/ // Count days due function daysUntil(year, month, day) { var now = new Date(), dateEnd = new Date(year, month – 1, day), // months are zero-based days = (dateEnd – now) / 1000/60/60/24; // convert milliseconds to days return Math.round(days); } 如何使用moment.js完成同样的事情? 如果有兴趣,这就是我如何在它不起作用的日期。 ko.bindingHandlers.textualDate = { update: function […]

JS触发keydown事件

我有点困惑为什么这段代码不起作用: $(document).keydown(function(e){ if (e.keyCode == 39) { //RIGHT document.getElementById(‘col_detector_right’).innerHTML=””; col_jack(‘right’); if(document.getElementById(‘col_detector_right’).innerHTML!=””){ } else{ var left = document.getElementById(‘jack’).style.left; var current_left = parseFloat(left); var new_left = current_left + 400; document.getElementById(‘jack’).style.left = new_left+’px’; } right = true; return false; } if (e.keyCode == 37) { //LEFT document.getElementById(‘col_detector_right’).innerHTML=””; col_jack(‘right’); if(document.getElementById(‘col_detector_right’).innerHTML!=””){ } else{ var left = document.getElementById(‘jack’).style.left; var current_left = […]

将部分视图加载到JQuery对话框中的缓存问题

想象一下具有“编辑”链接的简单用户列表。 单击“编辑”将打开一个对话框,其中包含所选用户的详细信息。 “详细信息”弹出窗口是局部视图。 在JQuery对话框窗口中打开部分视图时,我遇到了问题。 我的部分视图(注意OutputCache属性是我试图解决缓存问题的一个方面): [HttpGet] [OutputCache(NoStore = true, Duration = 0, VaryByParam = “*”)] public PartialViewResult EditUser(int id) { var userList = userRepository.GetByRole(id); return PartialView(“EditUser”,userList); } 上面的PartialView是从以下Javascript函数请求和加载的: function editUserOpen(id) { $.ajaxSetup({ ///// Another thing I tried to solve caching cache: false }); var url = “/User/PartialViewResult/” + id; $(‘#user-wrap’).empty().load(url, function () { $(“#dialog-edit-user”).dialog({ title: […]

无法访问IE中其他域设置的cookie

我正在使用cookie.js库从本地HTML文件设置cookie $.cookies.set(“Demo”,”Dummy Data”); 从另一个域我试图使用下面的代码获取cookie值 alert($.cookies.get(“Demo”)); 但它让我无效。 请帮帮我

Javascript / jQuery:从数组中删除所有非数字值

对于数组: [“5″,”something”,””,”83″,”text”,””] 如何从数组中删除所有非数字和空值? 期望的输出: [“5″,”83”]

使用jQuery将文本框输入限制为给定的正则表达式

请考虑以下文本框: 使用jQuery我想通过以下正则表达式将有效输入的集合限制为quantity_field : var quantityRegexp = “^(0|[1-9]+[0-9]*)$”; 更具体地说,我想让浏览器丢弃输入到quantity_field中的任何字符,这些字符会使文本字段的值不符合给定的正则表达式。 (当然也可以在服务器端进行相应的检查。) 例子: 如果用户键入“foo 234”,则只在文本框中输入“234”。 如果用户键入“001230”,则仅在文本框中输入“1230”。 如果用户键入“foo1bar”,则只在文本框中输入“1”。 问题: 使用jQuery实现这一目标的最简单方法是什么?

如何将参数从link元素传递给模态窗口?

我有一张桌子。 在表格的单元格中有如下链接: SOME_TEXT 。 当我点击此链接时应该打开一个模态。 这是一个例子: Some HTML/PHP Code 模态必须执行一些取决于“data-id”属性值的操作。 确切地说,在javascript代码中我需要读取此值: $(document).ready(function ( ) { $(‘#remoteModal’).on(‘show.bs.modal’, function( event ) { console.log( /* How do I read the value of data-id? */ ); }); }); 我不知道如何在模态的javascript代码中读取此属性的值。 非常感谢您的关注。

防止自定义jQuery图像轮播中的事件重叠

更新:我在下面发布的解决方案不够好,因为它使除活动的子弹之外的所有子弹都不响应点击 ,而不是排队 ,因此还有改进的余地。 我正在使用jQuery和CSS处理自定义图像轮播。 我的目标是让它非常轻巧但具有(仅)足够的function:“子弹”,自动前进,响应能力。 它工作正常,但我发现了一个我无法解决的错误:当我快速连续点击2个子弹 – 这意味着在第一个触发的转换完成之前点击第二个 – 转换以奇怪的方式重叠我不能描述但在下面可见: var $elm = $(‘.slider’), $slidesContainer = $elm.find(‘.slider-container’), slides = $slidesContainer.children(‘a’), slidesCount = slides.length, slideHeight = $(slides[0]).find(‘img’).outerHeight(false), animationspeed = 1500, animationInterval = 7000; // Set (initial) z-index for each slide var setZindex = function() { for (var i = 0; i 1) { /* Prepend the […]

列的SUM总计

请参考上一个问题: jQuery中列的总和 我使用了Aymen的解决方案,但我编辑它以满足我的需求。 它停止工作,我的代码如下jsfiddle所见: http : //jsfiddle.net/unKDk/15/ Apple Orange Watermelon Strawberry Total By Row 1 2 3 4 1 2 3 4 1 5 3 4 Total: Total: Total: Total: Total: Jquery部分是 var totals=[0,0,0,0,0]; $(document).ready(function(){ var $dataRows=$(“#sum_table tr:not(‘.totalColumn, .titlerow’)”); $dataRows.each(function() { $(this).find(‘.rowAA’).each(function(i){ totals[i]+=parseInt( $(this).html()); }); $(this).find(‘.rowBB’).each(function(i){ totals[i]+=parseInt( $(this).html()); }); }); $(“#sum_table td.totalCol”).each(function(i){ $(this).html(“total:”+totals[i]); }); }); […]