Ajax生成的动态标签无法被另一个javascript函数处理的解决办法

最近在做的一个web网页里面需要展示图片。图片的展示是通过一段javascript代码形成的图片轮播的效果。

但是图片的src是我通过ajax在action中调用数据库再返回得到的HTML代码段,在ajax中将该代码段替换到展示图片的div里面,确发现只能平铺出图片,并不能被形成图片轮播效果的js代码所处理。


原因是ajax的请求是异步的,也就是说,在ajax执行完毕之前,也就是展示图片的div里面的代码尚未被替换前,形成轮播效果的javascript代码已经执行完毕。因此当ajax执行完后,显示出来的图片并不会有轮播效果。


解决方法是,在ajax代码段中添加:async: false 该属性值默认为true,即异步方式。 改成false则为同步方式。只有当ajax执行完毕后,才会执行其后的javascript代码段。


代码如下:

$.ajax({

async: false,

type: "POST",

url:"PictureShowAction.action",

dataType:"html",

data:{productName:ProductName,start:1,end:10},

success:function(strValue){ 

$("#wrapper #pictureShowSlider div.scroll div.scrollContainer").html(strValue);

}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值