2

我有这个现有的功能,它将使用 jQuery UI 位置插件在网页中显示图标:

<script type='text/javascript'>
jQuery( document ).ready( function( $ ) {
var element_selector='.test';
if ( $(element_selector).length !== 0) {

//jQuery UI Position code here

}

 });
</script>

此函数位于 HTML 的页脚部分附近,尽管在某些地方它会输出到标题部分。有人建议我在 $(window).load() 函数中加载这个 jQuery。原因是 $(document).ready 事件是在加载 DOM 时触发的,所以它是在文档结构准备好但在加载图像之前触发的。

$(window).load() 事件在整个内容加载后触发。因此 .position() 方法在被触发到早期(在加载图像之前)时可能无法计算正确的位置。

如果这是真的,如何修改 $(window).load() 中的上述负载。谢谢。

更新:我改变了:

jQuery( document ).ready( function( $ ) {

对此:

jQuery(window).load(function($) {

我在控制台中收到此错误:

Uncaught TypeError: object is not a function 

它在这一行失败:

$(divname515e62e8355b0).children().wrapAll('<div class="mydoc cf">');

其中 divname515e62e8355b0 是此处定义的选择器:

var divname515e62e8355b0 = '#test_selector';
4

3 回答 3

2
jQuery(window).load(function($) {
    var element_selector='.test';
    if ( $(element_selector).length !== 0) {
        // Do stuff
    }
});
于 2013-04-05T05:30:16.640 回答
0

我相信 jquery 的文档准备功能有时会在图像完全准备好之前触发。我发现在开发视差站点时就是这种情况。使用纯 javascript,像这样附加到 window.onload 事件

<script type='text/javascript'>
 window.onload = function(){
  var element_selector='.test';
  if ( $(element_selector).length !== 0 {

  //jQuery UI Position code here

  }
 };
</script>
于 2013-04-05T05:25:34.117 回答
-1

JQuery window.onload 函数就是这样使用的。

<script type="text/javascript">
window.onload = function() {  

 var element_selector='.test';
 if ( $(element_selector).length !== 0 {

 //jQuery UI Position code here

 }
}
</script>
于 2013-04-05T05:30:57.600 回答