Tag: dom

在页面加载时隐藏文档正文

我有一个javascript加载到文档头,需要隐藏文档正文,直到所有页面内容都已加载。 我试过了: $(document.body).hide(); 但在某些浏览器中似乎仍有闪烁现象。 我正在使用最新的jQuery库(1.6.2)。 在domready上触发事件会隐藏文档正文,但也会导致闪烁。 我能控制的就是javascript中的内容。 我不能操纵静态html页面,因为脚本是作为插件开发的。

如何在IE6上修复不透明度

如何在IE6上修复不透明度 此代码不适用于IE6! filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0.5; opacity: 0.5; 而且这段代码! $(‘#description’).animate({opacity: 0.0}, 1000);

Backbone删除视图和DOM节点

所以我注意到我的应用程序在一些扩展使用后变慢了。 特别是当我创建许多视图时,这些视图是长列表中的每个项目。 我原以为通过view.remove()删除这些视图有助于解决问题但是当它们从页面中删除时,我注意到Chrome的时间轴显示我的DOM节点数没有减少。 我添加的每个视图都会继续增加这个数量。 事实上,似乎唯一减少此节点计数的是页面刷新。 这对我来说感觉不对,我觉得我搞砸了一些非常基本的东西,因为问题似乎发生在我的所有观点而不仅仅是这些观点。 这些视图列表的发生速度要快得多,因为它们有很多。 有没有人对我应该寻找什么有任何建议? 什么样的原因可以产生这种行为? 我提供代码,但我不知道什么是有用的。 TL; DR – View.remove()正在从页面中删除视图,但我的DOM节点计数继续上升并且永远不会下降。

jQuery DOMWindow脚本不释放内存

我试图在我的网站上的http://swip.codylindley.com/DOMWindowDemo.html上找到一个jQuery脚本,当访问者点击链接时创建一个lightbox / domwindow弹出窗口。 不幸的是,当用户关闭dom窗口时,脚本似乎没有释放内存。 如果用户多次打开和关闭窗口,则会导致页面显着减慢并使用户的浏览器崩溃。 这是上面网站的jQuery脚本: (function($){ //closeDOMWindow $.fn.closeDOMWindow = function(settings){ if(!settings){settings={};} var run = function(passingThis){ if(settings.anchoredClassName){ var $anchorClassName = $(‘.’+settings.anchoredClassName); $anchorClassName.fadeOut(‘fast’,function(){ if($.fn.draggable){ $anchorClassName.draggable(‘destory’).trigger(“unload”).remove(); }else{ $anchorClassName.trigger(“unload”).remove(); } }); if(settings.functionCallOnClose) { settings.functionCallAfterClose(); } }else{ var $DOMWindowOverlay = $(‘#DOMWindowOverlay’); var $DOMWindow = $(‘#DOMWindow’); $DOMWindowOverlay.fadeOut(‘fast’,function(){ $DOMWindowOverlay.trigger(‘unload’).unbind().remove(); }); $DOMWindow.fadeOut(‘fast’,function(){ if($.fn.draggable){ $DOMWindow.draggable(“destroy”).trigger(“unload”).remove(); }else{ $DOMWindow.trigger(“unload”).remove(); } }); $(window).unbind(‘scroll.DOMWindow’); $(window).unbind(‘resize.DOMWindow’); if($.fn.openDOMWindow.isIE6){$(‘#DOMWindowIE6FixIframe’).remove();} if(settings.functionCallOnClose){settings.functionCallAfterClose();} […]

jquery.html()有“准备好”或“完整”回调吗?

我正在使用DOM插入来生成一些数据输入对话框。 我发现在某些浏览器中,特别是移动浏览器和IE-Mac,在.html()调用之后立即进行的操作不会触发,大概是因为修改后的DOM还没有准备好。 例如: $.ajax({ type: “GET”, url: url, dataType: ‘html’, success: function (data, textStatus, jqXHR) { $(“#theDialog”).html(data); // hide address $(“#theDialog #BillingAddress”).closest(“li”).hide(); … 这在大多数情况下都有效,但某些浏览器有时无法隐藏指示的 。 调试很困难,因为进入控制台似乎允许浏览器完成DOM插入,因此.hide() 总是在单步调试时工作。 我想我所追求的是$(“#theDialog”).on(“ready”)或者来自.html()方法的回调。 但那些似乎并不存在。 我想到了 切换到.load() ,但最终我将转换为JSONP,我不认为.load()支持吗? 将.hide()和其他DOM操作放在返回数据中的脚本标记中。 我怀疑#2是推荐的方法,但是想先在这里进行健全性检查。 有没有人经历过这个? 非常感谢。

在页面加载之前隐藏HTML元素的正确方法是什么?

我已经找到了这个问题的许多部分答案,但似乎没有什么似乎是一个明确的答案。 对于这样一个重要的技术,我发现这有点奇怪。 我应该如何隐藏元素(使用javascript),以便在JS有机会隐藏它们之前页面加载时它们不会短暂出现? 我不想将它们设置为最初使用CSS隐藏,就像用户没有Javascript一样,它们什么也看不见。 要清楚。 我不是问如何处理向没有JS的用户显示内容。 这是一个完全不同的主题。 我只想要一种可靠的方法来隐藏HTML元素,然后再显示它们。 所以我的要求: 最初使用CSS不会隐藏HTML元素 如果JS可用,则隐藏这些元素,以便它们永远不会显示,甚至不会立即显示。 这意味着将它们隐藏在身体末端加载的JS中。

jQuery – 如何动态地将列表项添加到无序列表?

看起来像一个简单的事情(尽管我仍在学习jQuery的细节)。 这是我的HTML: There were errors with your registration: 这是我的(尝试过的)jQuery: // Check Required Fields. $(‘#fbsignup input.required’).each(function () { if ($(this).val().trim() == ”) { $(this).next(’em’).html(‘*’).show(); $(‘#fbsignup .message ul’).add(‘li’).html(‘Fields marked with * are required.’); } }); 这就是它对DOM做的事情: There were errors with your registration: Fields marked with * are required. 它将文本添加到内部html。 我希望它添加一个 元素与我设置的内部html – 我认为这是链接如何工作? 这是我想要最终得到的HTML: There were errors […]

更改模板标记后,John Resig的微模板语法错误<#{{{

我对John Resig的Micro模板有点麻烦。 任何人都可以帮助我解决它为什么不工作? 这是模板 test content {%=id%} {%=name%} 和引擎的修改部分 str .replace(/[\r\t\n]/g, ” “) .split(“{%”).join(“\t”) .replace(/((^|%>)[^\t]*)’/g, “$1\r”) .replace(/\t=(.*?)%>/g, “‘,$1,'”) .split(“\t”).join(“‘);”) .split(“%}”).join(“p.push(‘”) .split(“\r”).join(“\\'”) + “‘);}return p.join(”);”); 和JavaScript var dataObject = { “id”: “27”, “name”: “some more content” }; var html = tmpl(“row_tmpl”, dataObject); 和结果,你可以看到= id和= name似乎在错误的地方? 除了将模板语法块从更改为{%%}之外,我没有更改任何内容。 这是来自Firefox。 Error: syntax error Line: 30, Column: 89 Source Code: […]

引用父窗口文档

我正在尝试从弹出窗口访问父窗口文档。 $(document).ready(function(){ var summary = window.parent.document.getElementById(‘summary’); var content = summary.innerHTML; }); 它甚至可能吗? 是否有jQuery特定的方法来做到这一点? 谢谢

如何在YUI3中获得计算的元素宽度和高度?

jQuery有方便的.height()和.width()实用程序来计算DOM元素的显示大小。 它还有.position()来获取坐标。 在YUI3 Node中 ,我看到有.getX(),. getY()和.getXY()实用程序来获取位置,但我没有看到任何大小(或看不到)。 在YUI3中获取元素高度和宽度的好方法是什么?