javascript - 使用 ajaxified 内容 (jQuery)

标签 javascript jquery html css ajax

HTML:

<div>
<img src="image.png" />
</div>

JS:

$("div img").animate({opacity:.5}, 200);

此 js 在页面加载后运行良好。但不处理由 ajax 加载的内容。给出的js代码只是一个例子。

问题是,如何让一些 js 代码适用于 ajaxified 内容?


这样试过:

function loadDone(){
    $("div img").animate({opacity:.5}, 200);
};

loadDone();

$.ajax({
    url: "test.html",
    success: function(){
        //do something
        loadDone();
    }
});

但它不起作用。

我知道如何添加触发器,问题是,这段代码没有使用任何触发器。它只在页面加载后才起作用,然后停止。应该也适用于 ajaxified 内容。

最佳答案

您的问题有点含糊,但这可能会有所帮助。

假设您在准备好文档时运行此代码:

$(function() { 
  if ($("div img").width() > $("div").width()){
    $("div img").css({"width": $("div").width()});
  }
});

您可以在 ajax 回调中重复此调用:

$("#some_div").load("/html_fragment_with_cool_image", function() { 
  if ($("div img").width() > $("div").width()){
    $("div img").css({"width": $("div").width()});
  }
});

或者,更进一步,将其包装在一个函数中。

function doDivStuff() {
  if ($("div img").width() > $("div").width()){
    $("div img").css({"width": $("div").width()});
  }
}

然后在需要时调用它。

$(function() { 
  doDivStuff();
});

$("#some_div").load("/html_fragment_with_cool_image", function() { 
  doDivStuff();
});

关于javascript - 使用 ajaxified 内容 (jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5213974/

相关文章:

Javascript:如何在表单内指定的 <p> 标记内创建隐藏的输入元素?

javascript - iDevice浏览器,更改选择菜单内容

javascript - Kendo UI 网格服务器过滤未将数据获取到 Controller

javascript - 添加 header 到 <img> GET

javascript - 单击 Button 不会向下钻取 Table Bootstrap 4 和 JS 和 JQuery 中的元素

javascript - 添加具有输入值的行

javascript - 粘性页脚,以及没有特定高度的滚动 div

javascript - 如何在没有函数的情况下在jquery中绑定(bind)事件?

javascript - 外部 html 文件未填充 div

html - 在容器内设置宽度的样式按钮